home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1994-09-21 | 13.8 KB | [TEXT/ALFA] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Wed Sep 21 08:23:03 1994, modified Wed Sep 21 08:23:03 1994, creator Alpha editor, type ASCII, 13026 bytes "shell.tcl" , at 0x3362 886 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [ALFA] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 73 68 65 6c 6c 2e | 74 63 6c 00 00 00 00 00 |..shell.|tcl.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 41 4c 46 | 41 01 00 00 00 00 00 00 |.TEXTALF|A.......|
|00000050| 00 00 00 00 00 32 e2 00 | 00 03 76 aa a5 d6 27 aa |.....2..|..v...'.|
|00000060| a5 d6 27 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..'.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 b6 09 00 00 |........|........|
|00000080| 0d 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |.#######|########|
|00000090| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000000a0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000000b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000000c0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000000d0| 23 0d 23 20 53 68 65 6c | 6c 20 72 6f 75 74 69 6e |#.# Shel|l routin|
|000000e0| 65 73 2e 0d 23 23 23 23 | 23 23 23 23 23 23 23 23 |es..####|########|
|000000f0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000100| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000110| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000120| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00000130| 23 23 23 23 0d 0d 0d 70 | 72 6f 63 20 73 65 74 53 |####...p|roc setS|
|00000140| 68 65 6c 6c 4d 6f 64 65 | 20 7b 7d 20 7b 0d 09 73 |hellMode| {} {..s|
|00000150| 65 74 54 63 6c 4d 6f 64 | 65 0d 09 63 68 61 6e 67 |etTclMod|e..chang|
|00000160| 65 4d 6f 64 65 20 22 43 | 73 68 22 0d 09 69 6e 73 |eMode "C|sh"..ins|
|00000170| 65 72 74 4d 65 6e 75 20 | 22 54 63 6c 22 0d 7d 0d |ertMenu |"Tcl".}.|
|00000180| 0d 70 72 6f 63 20 69 6e | 69 74 53 68 65 6c 6c 20 |.proc in|itShell |
|00000190| 7b 7d 20 7b 0d 09 69 6e | 73 65 72 74 54 65 78 74 |{} {..in|sertText|
|000001a0| 20 22 57 65 6c 63 6f 6d | 65 20 74 6f 20 41 6c 70 | "Welcom|e to Alp|
|000001b0| 68 61 27 73 20 54 63 6c | 20 73 68 65 6c 6c 2e 22 |ha's Tcl| shell."|
|000001c0| 0d 09 69 6e 73 65 72 74 | 54 65 78 74 20 2d 77 20 |..insert|Text -w |
|000001d0| 5b 6c 69 6e 64 65 78 20 | 5b 77 69 6e 4e 61 6d 65 |[lindex |[winName|
|000001e0| 73 5d 20 30 5d 20 5b 73 | 68 65 6c 6c 50 72 6f 6d |s] 0] [s|hellProm|
|000001f0| 70 74 5d 0d 7d 0d 0d 23 | 20 52 65 74 75 72 6e 20 |pt].}..#| Return |
|00000200| 74 68 65 20 70 72 6f 6d | 70 74 2e 20 57 65 20 77 |the prom|pt. We w|
|00000210| 61 6e 74 20 74 68 65 20 | 77 69 6e 64 6f 77 20 6e |ant the |window n|
|00000220| 61 6d 65 20 62 65 63 61 | 75 73 65 20 73 6f 6d 65 |ame beca|use some|
|00000230| 20 6f 66 20 74 68 65 20 | 63 6f 6d 6d 61 6e 64 73 | of the |commands|
|00000240| 0d 23 20 77 65 20 65 76 | 61 6c 75 61 74 65 20 28 |.# we ev|aluate (|
|00000250| 73 75 63 68 20 61 73 20 | 27 65 64 69 74 27 29 20 |such as |'edit') |
|00000260| 6f 70 65 6e 20 61 20 6e | 65 77 20 77 69 6e 64 6f |open a n|ew windo|
|00000270| 77 2c 20 61 6e 64 20 77 | 65 20 77 61 6e 74 20 74 |w, and w|e want t|
|00000280| 68 65 20 69 6e 73 65 72 | 74 69 6f 6e 0d 23 20 74 |he inser|tion.# t|
|00000290| 6f 20 62 65 20 64 6f 6e | 65 20 69 6e 20 74 68 65 |o be don|e in the|
|000002a0| 20 73 68 65 6c 6c 20 77 | 69 6e 64 6f 77 2e 0d 70 | shell w|indow..p|
|000002b0| 72 6f 63 20 73 68 65 6c | 6c 50 72 6f 6d 70 74 20 |roc shel|lPrompt |
|000002c0| 7b 7d 20 7b 0d 09 72 65 | 67 65 78 70 20 22 28 5c |{} {..re|gexp "(\|
|000002d0| 5b 5e 3a 5c 5d 2a 29 3a | 24 22 20 5b 70 77 64 5d |[^:\]*):|$" [pwd]|
|000002e0| 20 63 72 44 75 6d 20 63 | 72 44 69 72 0d 09 72 65 | crDum c|rDir..re|
|000002f0| 74 75 72 6e 20 22 5c 72 | c7 24 63 72 44 69 72 c8 |turn "\r|.$crDir.|
|00000300| 20 22 0d 7d 0d 0d 0d 23 | 20 43 61 6c 6c 65 64 20 | ".}...#| Called |
|00000310| 61 74 20 61 6c 6c 20 63 | 61 72 72 69 61 67 65 20 |at all c|arriage |
|00000320| 72 65 74 75 72 6e 73 2e | 0d 70 72 6f 63 20 63 61 |returns.|.proc ca|
|00000330| 72 72 69 61 67 65 52 65 | 74 75 72 6e 20 7b 7d 20 |rriageRe|turn {} |
|00000340| 7b 0d 09 67 6c 6f 62 61 | 6c 20 6d 6f 64 65 0d 09 |{..globa|l mode..|
|00000350| 67 6c 6f 62 61 6c 20 69 | 6e 64 65 6e 74 4f 6e 43 |global i|ndentOnC|
|00000360| 52 0d 09 73 65 74 20 69 | 6e 64 65 6e 74 53 74 72 |R..set i|ndentStr|
|00000370| 69 6e 67 20 22 22 0d 09 | 64 65 6c 65 74 65 54 65 |ing ""..|deleteTe|
|00000380| 78 74 20 5b 67 65 74 50 | 6f 73 5d 20 5b 73 65 6c |xt [getP|os] [sel|
|00000390| 45 6e 64 5d 0d 09 69 66 | 20 7b 24 69 6e 64 65 6e |End]..if| {$inden|
|000003a0| 74 4f 6e 43 52 7d 20 7b | 0d 09 09 73 65 74 20 70 |tOnCR} {|...set p|
|000003b0| 6f 73 20 5b 67 65 74 50 | 6f 73 5d 0d 09 09 73 65 |os [getP|os]...se|
|000003c0| 74 20 74 65 78 74 20 5b | 67 65 74 54 65 78 74 20 |t text [|getText |
|000003d0| 5b 6c 69 6e 65 53 74 61 | 72 74 20 24 70 6f 73 5d |[lineSta|rt $pos]|
|000003e0| 20 24 70 6f 73 5d 0d 09 | 09 66 6f 72 20 7b 73 65 | $pos]..|.for {se|
|000003f0| 74 20 69 20 30 3b 20 73 | 65 74 20 6c 65 6e 20 5b |t i 0; s|et len [|
|00000400| 73 74 72 69 6e 67 20 6c | 65 6e 67 74 68 20 24 74 |string l|ength $t|
|00000410| 65 78 74 5d 7d 20 7b 24 | 69 20 3c 3d 20 24 6c 65 |ext]} {$|i <= $le|
|00000420| 6e 7d 20 7b 69 6e 63 72 | 20 69 7d 20 7b 0d 09 09 |n} {incr| i} {...|
|00000430| 09 73 65 74 20 63 20 5b | 73 74 72 69 6e 67 20 69 |.set c [|string i|
|00000440| 6e 64 65 78 20 24 74 65 | 78 74 20 24 69 5d 0d 09 |ndex $te|xt $i]..|
|00000450| 09 09 69 66 20 7b 28 24 | 63 20 21 3d 20 22 5c 74 |..if {($|c != "\t|
|00000460| 22 29 20 26 26 20 28 24 | 63 20 21 3d 20 22 5c 20 |") && ($|c != "\ |
|00000470| 22 29 7d 20 7b 0d 09 09 | 09 09 73 65 74 20 69 6e |")} {...|..set in|
|00000480| 64 65 6e 74 53 74 72 69 | 6e 67 20 5b 73 74 72 69 |dentStri|ng [stri|
|00000490| 6e 67 20 72 61 6e 67 65 | 20 24 74 65 78 74 20 30 |ng range| $text 0|
|000004a0| 20 5b 65 78 70 72 20 24 | 69 2d 31 5d 5d 0d 09 09 | [expr $|i-1]]...|
|000004b0| 09 09 62 72 65 61 6b 0d | 09 09 09 7d 0d 09 09 7d |..break.|...}...}|
|000004c0| 0d 09 7d 0d 09 69 6e 73 | 65 72 74 54 65 78 74 20 |..}..ins|ertText |
|000004d0| 22 5c 72 22 20 24 69 6e | 64 65 6e 74 53 74 72 69 |"\r" $in|dentStri|
|000004e0| 6e 67 0d 7d 0d 0d 0d 70 | 72 6f 63 20 74 63 6c 43 |ng.}...p|roc tclC|
|000004f0| 61 72 72 69 61 67 65 52 | 65 74 75 72 6e 20 7b 7d |arriageR|eturn {}|
|00000500| 20 7b 0d 09 67 6c 6f 62 | 61 6c 20 6d 6f 64 65 20 | {..glob|al mode |
|00000510| 68 69 73 74 6e 75 6d 0d | 09 67 6c 6f 62 61 6c 20 |histnum.|.global |
|00000520| 5f 74 65 78 74 0d 09 67 | 6c 6f 62 61 6c 20 5f 72 |_text..g|lobal _r|
|00000530| 65 74 75 72 6e 54 65 78 | 74 0d 09 73 65 74 20 70 |eturnTex|t..set p|
|00000540| 6f 73 20 5b 67 65 74 50 | 6f 73 5d 0d 0d 09 69 66 |os [getP|os]...if|
|00000550| 20 7b 21 5b 63 61 74 63 | 68 20 7b 72 65 67 65 78 | {![catc|h {regex|
|00000560| 70 20 7b b0 7d 20 5b 67 | 65 74 54 65 78 74 20 24 |p {.} [g|etText $|
|00000570| 70 6f 73 20 5b 6e 65 78 | 74 4c 69 6e 65 53 74 61 |pos [nex|tLineSta|
|00000580| 72 74 20 24 70 6f 73 5d | 5d 7d 20 72 65 73 5d 20 |rt $pos]|]} res] |
|00000590| 26 26 20 24 72 65 73 7d | 20 7b 0d 09 09 67 6f 74 |&& $res}| {...got|
|000005a0| 6f 4d 61 74 63 68 3b 20 | 72 65 74 75 72 6e 3b 0d |oMatch; |return;.|
|000005b0| 09 7d 0d 09 73 65 74 20 | 69 6e 64 20 5b 73 74 72 |.}..set |ind [str|
|000005c0| 69 6e 67 20 66 69 72 73 | 74 20 22 c8 22 20 5b 67 |ing firs|t "." [g|
|000005d0| 65 74 54 65 78 74 20 5b | 6c 69 6e 65 53 74 61 72 |etText [|lineStar|
|000005e0| 74 20 24 70 6f 73 5d 20 | 24 70 6f 73 5d 5d 0d 09 |t $pos] |$pos]]..|
|000005f0| 69 66 20 7b 24 69 6e 64 | 20 3c 20 30 7d 20 7b 0d |if {$ind| < 0} {.|
|00000600| 09 09 63 61 72 72 69 61 | 67 65 52 65 74 75 72 6e |..carria|geReturn|
|00000610| 0d 09 09 72 65 74 75 72 | 6e 0d 09 7d 0d 09 73 65 |...retur|n..}..se|
|00000620| 74 20 6c 53 74 61 72 74 | 20 5b 65 78 70 72 20 5b |t lStart| [expr [|
|00000630| 6c 69 6e 65 53 74 61 72 | 74 20 24 70 6f 73 5d 2b |lineStar|t $pos]+|
|00000640| 24 69 6e 64 2b 32 5d 0d | 09 65 6e 64 4f 66 4c 69 |$ind+2].|.endOfLi|
|00000650| 6e 65 0d 09 73 65 74 20 | 5f 74 65 78 74 20 5b 67 |ne..set |_text [g|
|00000660| 65 74 54 65 78 74 20 24 | 6c 53 74 61 72 74 20 5b |etText $|lStart [|
|00000670| 67 65 74 50 6f 73 5d 5d | 0d 09 73 65 74 20 66 69 |getPos]]|..set fi|
|00000680| 6c 65 4e 61 6d 65 20 5b | 6c 69 6e 64 65 78 20 5b |leName [|lindex [|
|00000690| 77 69 6e 4e 61 6d 65 73 | 5d 20 30 5d 0d 09 69 66 |winNames|] 0]..if|
|000006a0| 20 7b 5b 67 65 74 50 6f | 73 5d 20 21 3d 20 5b 6d | {[getPo|s] != [m|
|000006b0| 61 78 50 6f 73 5d 7d 20 | 7b 0d 09 09 67 6f 74 6f |axPos]} |{...goto|
|000006c0| 20 5b 6d 61 78 50 6f 73 | 5d 0d 09 09 69 6e 73 65 | [maxPos|]...inse|
|000006d0| 72 74 54 65 78 74 20 2d | 77 20 24 66 69 6c 65 4e |rtText -|w $fileN|
|000006e0| 61 6d 65 20 24 5f 74 65 | 78 74 0d 09 7d 0d 09 69 |ame $_te|xt..}..i|
|000006f0| 66 20 7b 5b 73 74 72 69 | 6e 67 20 66 69 72 73 74 |f {[stri|ng first|
|00000700| 20 22 54 6f 6f 6c 73 65 | 72 76 65 72 22 20 24 66 | "Toolse|rver" $f|
|00000710| 69 6c 65 4e 61 6d 65 5d | 20 21 3d 20 2d 31 7d 20 |ileName]| != -1} |
|00000720| 7b 0d 09 09 69 66 20 7b | 21 5b 63 61 74 63 68 20 |{...if {|![catch |
|00000730| 7b 64 6f 73 63 20 2d 6e | 20 54 6f 6f 6c 53 65 72 |{dosc -n| ToolSer|
|00000740| 76 65 72 20 2d 73 20 24 | 5f 74 65 78 74 7d 20 5f |ver -s $|_text} _|
|00000750| 72 65 74 75 72 6e 54 65 | 78 74 5d 7d 20 7b 0d 09 |returnTe|xt]} {..|
|00000760| 09 09 69 6e 73 65 72 74 | 54 65 78 74 20 22 5c 72 |..insert|Text "\r|
|00000770| 22 20 24 5f 72 65 74 75 | 72 6e 54 65 78 74 0d 09 |" $_retu|rnText..|
|00000780| 09 7d 20 65 6c 73 65 20 | 7b 0d 09 09 09 69 6e 73 |.} else |{....ins|
|00000790| 65 72 74 54 65 78 74 20 | 22 5c 72 22 0d 09 09 7d |ertText |"\r"...}|
|000007a0| 0d 09 09 6d 70 77 50 72 | 6f 6d 70 74 0d 09 7d 20 |...mpwPr|ompt..} |
|000007b0| 65 6c 73 65 20 7b 0d 09 | 09 75 70 6c 65 76 65 6c |else {..|.uplevel|
|000007c0| 20 23 30 20 7b 63 61 74 | 63 68 20 24 5f 74 65 78 | #0 {cat|ch $_tex|
|000007d0| 74 20 5f 72 65 74 75 72 | 6e 54 65 78 74 7d 0d 09 |t _retur|nText}..|
|000007e0| 09 68 69 73 74 6f 72 79 | 20 61 64 64 20 24 5f 74 |.history| add $_t|
|000007f0| 65 78 74 0d 09 09 69 66 | 20 7b 5b 73 74 72 69 6e |ext...if| {[strin|
|00000800| 67 20 6c 65 6e 67 74 68 | 20 24 5f 72 65 74 75 72 |g length| $_retur|
|00000810| 6e 54 65 78 74 5d 7d 20 | 7b 0d 09 09 09 69 6e 73 |nText]} |{....ins|
|00000820| 65 72 74 54 65 78 74 20 | 2d 77 20 24 66 69 6c 65 |ertText |-w $file|
|00000830| 4e 61 6d 65 20 22 5c 72 | 22 20 24 5f 72 65 74 75 |Name "\r|" $_retu|
|00000840| 72 6e 54 65 78 74 20 5b | 73 68 65 6c 6c 50 72 6f |rnText [|shellPro|
|00000850| 6d 70 74 5d 0d 09 09 7d | 20 65 6c 73 65 20 7b 0d |mpt]...}| else {.|
|00000860| 09 09 09 69 6e 73 65 72 | 74 54 65 78 74 20 2d 77 |...inser|tText -w|
|00000870| 20 24 66 69 6c 65 4e 61 | 6d 65 20 5b 73 68 65 6c | $fileNa|me [shel|
|00000880| 6c 50 72 6f 6d 70 74 5d | 0d 09 09 7d 0d 09 09 73 |lPrompt]|...}...s|
|00000890| 65 74 20 68 69 73 74 6e | 75 6d 20 5b 68 69 73 74 |et histn|um [hist|
|000008a0| 6f 72 79 20 6e 65 78 74 | 69 64 5d 0d 09 7d 0d 09 |ory next|id]..}..|
|000008b0| 75 6e 73 65 74 20 5f 74 | 65 78 74 0d 09 75 6e 73 |unset _t|ext..uns|
|000008c0| 65 74 20 5f 72 65 74 75 | 72 6e 54 65 78 74 0d 7d |et _retu|rnText.}|
|000008d0| 0d 62 69 6e 64 20 27 5c | 72 27 20 63 61 72 72 69 |.bind '\|r' carri|
|000008e0| 61 67 65 52 65 74 75 72 | 6e 0d 62 69 6e 64 20 27 |ageRetur|n.bind '|
|000008f0| 5c 72 27 20 74 63 6c 43 | 61 72 72 69 61 67 65 52 |\r' tclC|arriageR|
|00000900| 65 74 75 72 6e 20 22 43 | 73 68 22 0d 62 69 6e 64 |eturn "C|sh".bind|
|00000910| 20 27 5c 72 27 20 74 63 | 6c 43 61 72 72 69 61 67 | '\r' tc|lCarriag|
|00000920| 65 52 65 74 75 72 6e 20 | 22 4d 50 57 22 0d 0d 0d |eReturn |"MPW"...|
|00000930| 62 69 6e 64 20 75 70 20 | 3c 7a 3e 20 70 72 65 76 |bind up |<z> prev|
|00000940| 48 69 73 74 20 43 73 68 | 0d 62 69 6e 64 20 64 6f |Hist Csh|.bind do|
|00000950| 77 6e 20 3c 7a 3e 20 6e | 65 78 74 48 69 73 74 20 |wn <z> n|extHist |
|00000960| 43 73 68 0d 0d 70 72 6f | 63 20 70 72 65 76 48 69 |Csh..pro|c prevHi|
|00000970| 73 74 20 7b 7d 20 7b 0d | 09 67 6c 6f 62 61 6c 20 |st {} {.|.global |
|00000980| 68 69 73 74 6e 75 6d 0d | 09 0d 09 73 65 74 20 74 |histnum.|...set t|
|00000990| 65 78 74 20 5b 67 65 74 | 54 65 78 74 20 5b 6c 69 |ext [get|Text [li|
|000009a0| 6e 65 53 74 61 72 74 20 | 5b 67 65 74 50 6f 73 5d |neStart |[getPos]|
|000009b0| 5d 20 5b 6e 65 78 74 4c | 69 6e 65 53 74 61 72 74 |] [nextL|ineStart|
|000009c0| 20 5b 67 65 74 50 6f 73 | 5d 5d 5d 0d 09 69 66 20 | [getPos|]]]..if |
|000009d0| 7b 5b 73 65 74 20 69 6e | 64 20 5b 73 74 72 69 6e |{[set in|d [strin|
|000009e0| 67 20 66 69 72 73 74 20 | 22 c8 20 22 20 24 74 65 |g first |". " $te|
|000009f0| 78 74 5d 5d 20 3e 20 30 | 7d 20 7b 0d 09 09 67 6f |xt]] > 0|} {...go|
|00000a00| 74 6f 20 5b 65 78 70 72 | 20 5b 6c 69 6e 65 53 74 |to [expr| [lineSt|
|00000a10| 61 72 74 20 5b 67 65 74 | 50 6f 73 5d 5d 20 2b 20 |art [get|Pos]] + |
|00000a20| 24 69 6e 64 20 2b 20 32 | 5d 0d 09 7d 20 65 6c 73 |$ind + 2|]..} els|
|00000a30| 65 20 72 65 74 75 72 6e | 0d 0d 09 69 6e 63 72 20 |e return|...incr |
|00000a40| 68 69 73 74 6e 75 6d 20 | 2d 31 0d 09 69 66 20 7b |histnum |-1..if {|
|00000a50| 5b 63 61 74 63 68 20 7b | 68 69 73 74 6f 72 79 20 |[catch {|history |
|00000a60| 65 76 65 6e 74 20 24 68 | 69 73 74 6e 75 6d 7d 20 |event $h|istnum} |
|00000a70| 74 65 78 74 5d 7d 20 7b | 0d 09 09 69 6e 63 72 20 |text]} {|...incr |
|00000a80| 68 69 73 74 6e 75 6d 0d | 09 09 65 6e 64 4f 66 4c |histnum.|..endOfL|
|00000a90| 69 6e 65 0d 09 09 72 65 | 74 75 72 6e 0d 09 7d 0d |ine...re|turn..}.|
|00000aa0| 09 73 65 74 20 74 6f 20 | 5b 6e 65 78 74 4c 69 6e |.set to |[nextLin|
|00000ab0| 65 53 74 61 72 74 20 5b | 67 65 74 50 6f 73 5d 5d |eStart [|getPos]]|
|00000ac0| 0d 09 69 66 20 7b 5b 6c | 6f 6f 6b 41 74 20 5b 65 |..if {[l|ookAt [e|
|00000ad0| 78 70 72 20 24 74 6f 2d | 31 5d 5d 20 3d 3d 20 22 |xpr $to-|1]] == "|
|00000ae0| 5c 72 22 7d 20 7b 69 6e | 63 72 20 74 6f 20 2d 31 |\r"} {in|cr to -1|
|00000af0| 7d 0d 09 72 65 70 6c 61 | 63 65 54 65 78 74 20 5b |}..repla|ceText [|
|00000b00| 67 65 74 50 6f 73 5d 20 | 24 74 6f 20 24 74 65 78 |getPos] |$to $tex|
|00000b10| 74 0d 7d 0d 0d 0d 70 72 | 6f 63 20 6e 65 78 74 48 |t.}...pr|oc nextH|
|00000b20| 69 73 74 20 7b 7d 20 7b | 0d 09 67 6c 6f 62 61 6c |ist {} {|..global|
|00000b30| 20 68 69 73 74 6e 75 6d | 0d 09 0d 09 73 65 74 20 | histnum|....set |
|00000b40| 74 65 78 74 20 5b 67 65 | 74 54 65 78 74 20 5b 6c |text [ge|tText [l|
|00000b50| 69 6e 65 53 74 61 72 74 | 20 5b 67 65 74 50 6f 73 |ineStart| [getPos|
|00000b60| 5d 5d 20 5b 6e 65 78 74 | 4c 69 6e 65 53 74 61 72 |]] [next|LineStar|
|00000b70| 74 20 5b 67 65 74 50 6f | 73 5d 5d 5d 0d 09 69 66 |t [getPo|s]]]..if|
|00000b80| 20 7b 5b 73 65 74 20 69 | 6e 64 20 5b 73 74 72 69 | {[set i|nd [stri|
|00000b90| 6e 67 20 66 69 72 73 74 | 20 22 c8 20 22 20 24 74 |ng first| ". " $t|
|00000ba0| 65 78 74 5d 5d 20 3e 20 | 30 7d 20 7b 0d 09 09 67 |ext]] > |0} {...g|
|00000bb0| 6f 74 6f 20 5b 65 78 70 | 72 20 5b 6c 69 6e 65 53 |oto [exp|r [lineS|
|00000bc0| 74 61 72 74 20 5b 67 65 | 74 50 6f 73 5d 5d 20 2b |tart [ge|tPos]] +|
|00000bd0| 20 24 69 6e 64 20 2b 20 | 32 5d 0d 09 7d 20 65 6c | $ind + |2]..} el|
|00000be0| 73 65 20 72 65 74 75 72 | 6e 0d 0d 09 69 6e 63 72 |se retur|n...incr|
|00000bf0| 20 68 69 73 74 6e 75 6d | 0d 09 69 66 20 7b 5b 63 | histnum|..if {[c|
|00000c00| 61 74 63 68 20 7b 68 69 | 73 74 6f 72 79 20 65 76 |atch {hi|story ev|
|00000c10| 65 6e 74 20 24 68 69 73 | 74 6e 75 6d 7d 20 74 65 |ent $his|tnum} te|
|00000c20| 78 74 5d 7d 20 7b 0d 09 | 09 69 6e 63 72 20 68 69 |xt]} {..|.incr hi|
|00000c30| 73 74 6e 75 6d 20 2d 31 | 0d 09 09 65 6e 64 4f 66 |stnum -1|...endOf|
|00000c40| 4c 69 6e 65 0d 09 09 72 | 65 74 75 72 6e 0d 09 7d |Line...r|eturn..}|
|00000c50| 0d 09 73 65 74 20 74 6f | 20 5b 6e 65 78 74 4c 69 |..set to| [nextLi|
|00000c60| 6e 65 53 74 61 72 74 20 | 5b 67 65 74 50 6f 73 5d |neStart |[getPos]|
|00000c70| 5d 0d 09 69 66 20 7b 5b | 6c 6f 6f 6b 41 74 20 5b |]..if {[|lookAt [|
|00000c80| 65 78 70 72 20 24 74 6f | 2d 31 5d 5d 20 3d 3d 20 |expr $to|-1]] == |
|00000c90| 22 5c 72 22 7d 20 7b 69 | 6e 63 72 20 74 6f 20 2d |"\r"} {i|ncr to -|
|00000ca0| 31 7d 0d 09 72 65 70 6c | 61 63 65 54 65 78 74 20 |1}..repl|aceText |
|00000cb0| 5b 67 65 74 50 6f 73 5d | 20 24 74 6f 20 24 74 65 |[getPos]| $to $te|
|00000cc0| 78 74 0d 7d 0d 0d 09 0d | 70 72 6f 63 20 73 74 61 |xt.}....|proc sta|
|00000cd0| 72 74 4d 50 57 20 7b 7d | 20 7b 0d 09 67 6c 6f 62 |rtMPW {}| {..glob|
|00000ce0| 61 6c 20 74 6f 6f 6c 73 | 65 72 76 65 72 50 61 74 |al tools|erverPat|
|00000cf0| 68 0d 0d 09 69 66 20 7b | 21 5b 73 74 72 69 6e 67 |h...if {|![string|
|00000d00| 20 6c 65 6e 67 74 68 20 | 5b 63 68 65 63 6b 52 75 | length |[checkRu|
|00000d10| 6e 6e 69 6e 67 20 54 6f | 6f 6c 53 65 72 76 65 72 |nning To|olServer|
|00000d20| 20 4d 50 53 58 20 74 6f | 6f 6c 73 65 72 76 65 72 | MPSX to|olserver|
|00000d30| 50 61 74 68 5d 5d 7d 20 | 72 65 74 75 72 6e 0d 0d |Path]]} |return..|
|00000d40| 09 69 6e 73 65 72 74 54 | 65 78 74 20 22 57 65 6c |.insertT|ext "Wel|
|00000d50| 63 6f 6d 65 20 74 6f 20 | 41 6c 70 68 61 27 73 20 |come to |Alpha's |
|00000d60| 4d 50 57 20 73 68 65 6c | 6c 20 28 75 73 69 6e 67 |MPW shel|l (using|
|00000d70| 20 54 6f 6f 6c 53 65 72 | 76 65 72 20 76 69 61 20 | ToolSer|ver via |
|00000d80| 41 70 70 6c 65 45 76 65 | 6e 74 73 29 2e 22 0d 09 |AppleEve|nts)."..|
|00000d90| 62 69 6e 64 20 27 5c 72 | 27 20 74 63 6c 43 61 72 |bind '\r|' tclCar|
|00000da0| 72 69 61 67 65 52 65 74 | 75 72 6e 20 22 4d 50 57 |riageRet|urn "MPW|
|00000db0| 22 0d 09 63 61 72 72 69 | 61 67 65 52 65 74 75 72 |"..carri|ageRetur|
|00000dc0| 6e 0d 09 6d 70 77 50 72 | 6f 6d 70 74 0d 7d 0d 70 |n..mpwPr|ompt.}.p|
|00000dd0| 72 6f 63 20 6d 70 77 50 | 72 6f 6d 70 74 20 7b 7d |roc mpwP|rompt {}|
|00000de0| 20 7b 0d 09 69 6e 73 65 | 72 74 54 65 78 74 20 22 | {..inse|rtText "|
|00000df0| c7 6d 70 77 c8 20 22 0d | 7d 0d 0d 70 72 6f 63 20 |.mpw. ".|}..proc |
|00000e00| 73 65 74 4d 50 57 4d 6f | 64 65 20 7b 7d 20 7b 0d |setMPWMo|de {} {.|
|00000e10| 09 63 68 61 6e 67 65 4d | 6f 64 65 20 22 4d 50 57 |.changeM|ode "MPW|
|00000e20| 22 0d 7d 0d 0d 23 09 74 | 63 6c 43 61 72 72 69 61 |".}..#.t|clCarria|
|00000e30| 67 65 52 65 74 75 72 6e | 0d 0d 0d 0d 23 3d 3d 3d |geReturn|....#===|
|00000e40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000e80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 23 09 53 68 65 |========|==.#.She|
|00000e90| 6c 6c 20 41 6c 69 61 73 | 65 73 0d 23 3d 3d 3d 3d |ll Alias|es.#====|
|00000ea0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000eb0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ec0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ed0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000ee0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0d 0d 70 72 6f 63 |========|=...proc|
|00000ef0| 20 6c 20 7b 61 72 67 73 | 7d 20 7b 0d 09 65 76 61 | l {args|} {..eva|
|00000f00| 6c 20 5b 63 6f 6e 63 61 | 74 20 22 6c 73 20 2d 43 |l [conca|t "ls -C|
|00000f10| 46 22 20 24 61 72 67 73 | 5d 7d 0d 0d 70 72 6f 63 |F" $args|]}..proc|
|00000f20| 20 6c 6c 20 7b 61 72 67 | 73 7d 20 7b 0d 09 65 76 | ll {arg|s} {..ev|
|00000f30| 61 6c 20 5b 63 6f 6e 63 | 61 74 20 22 6c 73 20 2d |al [conc|at "ls -|
|00000f40| 6c 22 20 24 61 72 67 73 | 5d 7d 0d 0d 0d 70 72 6f |l" $args|]}...pro|
|00000f50| 63 20 77 63 20 7b 61 72 | 67 73 7d 20 7b 0d 09 73 |c wc {ar|gs} {..s|
|00000f60| 65 74 20 74 6f 74 43 68 | 61 72 73 20 30 0d 09 73 |et totCh|ars 0..s|
|00000f70| 65 74 20 74 6f 74 4c 69 | 6e 65 73 20 30 0d 09 73 |et totLi|nes 0..s|
|00000f80| 65 74 20 74 6f 74 57 6f | 72 64 73 20 30 0d 09 73 |et totWo|rds 0..s|
|00000f90| 65 74 20 61 72 67 73 20 | 5b 67 6c 6f 62 20 2d 6e |et args |[glob -n|
|00000fa0| 6f 63 6f 6d 70 6c 61 69 | 6e 20 24 61 72 67 73 5d |ocomplai|n $args]|
|00000fb0| 0d 09 66 6f 72 65 61 63 | 68 20 66 69 6c 65 20 24 |..foreac|h file $|
|00000fc0| 61 72 67 73 20 7b 0d 09 | 09 73 65 74 20 69 64 20 |args {..|.set id |
|00000fd0| 5b 6f 70 65 6e 20 24 66 | 69 6c 65 5d 0d 09 09 73 |[open $f|ile]...s|
|00000fe0| 65 74 20 63 68 61 72 73 | 20 5b 73 74 72 69 6e 67 |et chars| [string|
|00000ff0| 20 6c 65 6e 67 74 68 20 | 5b 73 65 74 20 74 65 78 | length |[set tex|
|00001000| 74 20 5b 72 65 61 64 20 | 24 69 64 5d 5d 5d 0d 09 |t [read |$id]]]..|
|00001010| 09 73 65 74 20 6c 69 6e | 65 73 20 5b 6c 6c 65 6e |.set lin|es [llen|
|00001020| 67 74 68 20 5b 73 70 6c | 69 74 20 24 74 65 78 74 |gth [spl|it $text|
|00001030| 20 22 5c 6e 22 5d 5d 0d | 09 09 73 65 74 20 77 6f | "\n"]].|..set wo|
|00001040| 72 64 73 20 5b 6c 6c 65 | 6e 67 74 68 20 5b 73 70 |rds [lle|ngth [sp|
|00001050| 6c 69 74 20 24 74 65 78 | 74 5d 5d 0d 09 09 69 6e |lit $tex|t]]...in|
|00001060| 73 65 72 74 54 65 78 74 | 20 5b 66 6f 72 6d 61 74 |sertText| [format|
|00001070| 20 22 5c 72 25 38 64 25 | 38 64 25 38 64 20 20 20 | "\r%8d%|8d%8d |
|00001080| 20 24 66 69 6c 65 22 20 | 24 6c 69 6e 65 73 20 24 | $file" |$lines $|
|00001090| 77 6f 72 64 73 20 24 63 | 68 61 72 73 5d 0d 09 09 |words $c|hars]...|
|000010a0| 73 65 74 20 74 6f 74 43 | 68 61 72 73 20 5b 65 78 |set totC|hars [ex|
|000010b0| 70 72 20 24 74 6f 74 43 | 68 61 72 73 2b 24 63 68 |pr $totC|hars+$ch|
|000010c0| 61 72 73 5d 0d 09 09 73 | 65 74 20 74 6f 74 57 6f |ars]...s|et totWo|
|000010d0| 72 64 73 20 5b 65 78 70 | 72 20 24 74 6f 74 57 6f |rds [exp|r $totWo|
|000010e0| 72 64 73 2b 24 77 6f 72 | 64 73 5d 0d 09 09 73 65 |rds+$wor|ds]...se|
|000010f0| 74 20 74 6f 74 4c 69 6e | 65 73 20 5b 65 78 70 72 |t totLin|es [expr|
|00001100| 20 24 74 6f 74 4c 69 6e | 65 73 2b 24 6c 69 6e 65 | $totLin|es+$line|
|00001110| 73 5d 0d 09 09 63 6c 6f | 73 65 20 24 69 64 0d 09 |s]...clo|se $id..|
|00001120| 7d 0d 09 69 66 20 7b 5b | 6c 6c 65 6e 67 74 68 20 |}..if {[|llength |
|00001130| 24 61 72 67 73 5d 20 3e | 20 31 7d 20 7b 0d 09 09 |$args] >| 1} {...|
|00001140| 69 6e 73 65 72 74 54 65 | 78 74 20 5b 66 6f 72 6d |insertTe|xt [form|
|00001150| 61 74 20 22 5c 72 25 38 | 64 25 38 64 25 38 64 20 |at "\r%8|d%8d%8d |
|00001160| 20 20 20 74 6f 74 61 6c | 22 20 24 74 6f 74 4c 69 | total|" $totLi|
|00001170| 6e 65 73 20 24 74 6f 74 | 57 6f 72 64 73 20 24 74 |nes $tot|Words $t|
|00001180| 6f 74 43 68 61 72 73 5d | 0d 09 7d 0d 7d 0d 0d 23 |otChars]|..}.}..#|
|00001190| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000011a0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000011b0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000011c0| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|000011d0| 23 23 23 23 23 23 23 23 | 23 23 0d 23 20 20 62 65 |########|##.# be|
|000011e0| 74 74 65 72 2d 63 70 2d | 6d 76 2e 74 63 6c 20 20 |tter-cp-|mv.tcl |
|000011f0| 2d 2d 20 6d 6f 64 69 66 | 69 63 61 74 69 6f 6e 20 |-- modif|ication |
|00001200| 6f 66 20 79 6f 75 72 20 | 72 6f 75 74 69 6e 65 73 |of your |routines|
|00001210| 2c 20 62 79 20 4d 61 72 | 6b 20 4e 61 67 61 74 61 |, by Mar|k Nagata|
|00001220| 0d 23 20 20 66 6f 72 20 | 41 6c 70 68 61 20 35 2e |.# for |Alpha 5.|
|00001230| 37 32 2c 20 20 31 2f 30 | 34 2f 39 34 0d 23 23 23 |72, 1/0|4/94.###|
|00001240| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001250| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001260| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001270| 23 23 23 23 23 23 23 23 | 23 23 23 23 23 23 23 23 |########|########|
|00001280| 23 23 23 23 23 23 23 23 | 0d 70 72 6f 63 20 63 70 |########|.proc cp|
|00001290| 20 61 72 67 73 20 7b 0d | 20 20 20 20 69 66 20 7b | args {.| if {|
|000012a0| 5b 73 65 74 20 6c 65 6e | 20 5b 6c 6c 65 6e 67 74 |[set len| [llengt|
|000012b0| 68 20 24 61 72 67 73 5d | 5d 20 3c 20 32 7d 20 7b |h $args]|] < 2} {|
|000012c0| 0d 20 20 20 20 20 20 20 | 20 65 72 72 6f 72 20 22 |. | error "|
|000012d0| 75 73 61 67 65 3a 20 63 | 70 20 3c 66 69 6c 65 31 |usage: c|p <file1|
|000012e0| 3e 20 3c 66 69 6c 65 32 | 3e 5c 72 20 20 20 20 20 |> <file2|>\r |
|000012f0| 20 20 63 70 20 3c 66 69 | 6c 65 31 3e 20 2e 2e 2e | cp <fi|le1> ...|
|00001300| 2e 20 3c 64 69 72 3e 22 | 0d 20 20 20 20 7d 0d 20 |. <dir>"|. }. |
|00001310| 20 20 20 73 65 74 20 6c | 65 6e 20 5b 65 78 70 72 | set l|en [expr|
|00001320| 20 24 6c 65 6e 2d 31 5d | 0d 20 20 20 20 73 65 74 | $len-1]|. set|
|00001330| 20 64 69 72 20 5b 6c 69 | 6e 64 65 78 20 24 61 72 | dir [li|ndex $ar|
|00001340| 67 73 20 24 6c 65 6e 5d | 0d 20 20 20 20 69 66 20 |gs $len]|. if |
|00001350| 7b 21 5b 72 65 67 65 78 | 70 20 7b 3a 7d 20 24 64 |{![regex|p {:} $d|
|00001360| 69 72 5d 20 26 26 20 24 | 64 69 72 20 21 3d 20 22 |ir] && $|dir != "|
|00001370| 22 7d 20 7b 0d 20 20 20 | 20 20 20 20 20 73 65 74 |"} {. | set|
|00001380| 20 64 69 72 20 22 3a 24 | 64 69 72 22 0d 20 20 20 | dir ":$|dir". |
|00001390| 20 7d 0d 20 20 20 20 69 | 66 20 7b 5b 72 65 67 65 | }. i|f {[rege|
|000013a0| 78 70 20 7b 3a 24 7d 20 | 24 64 69 72 5d 7d 20 7b |xp {:$} |$dir]} {|
|000013b0| 0d 20 20 20 20 20 20 20 | 20 73 65 74 20 64 69 72 |. | set dir|
|000013c0| 20 5b 73 74 72 69 6e 67 | 20 74 72 69 6d 72 69 67 | [string| trimrig|
|000013d0| 68 74 20 24 64 69 72 20 | 7b 3a 7d 5d 0d 20 20 20 |ht $dir |{:}]. |
|000013e0| 20 7d 0d 20 20 20 20 73 | 65 74 20 61 72 67 73 20 | }. s|et args |
|000013f0| 5b 6c 72 65 70 6c 61 63 | 65 20 24 61 72 67 73 20 |[lreplac|e $args |
|00001400| 24 6c 65 6e 20 24 6c 65 | 6e 5d 0d 20 20 20 20 73 |$len $le|n]. s|
|00001410| 65 74 20 66 69 6c 65 73 | 20 7b 7d 0d 20 20 20 20 |et files| {}. |
|00001420| 66 6f 72 65 61 63 68 20 | 61 72 67 20 24 61 72 67 |foreach |arg $arg|
|00001430| 73 20 7b 0d 20 20 20 20 | 20 20 20 20 61 70 70 65 |s {. | appe|
|00001440| 6e 64 20 66 69 6c 65 73 | 20 22 20 22 20 5b 67 6c |nd files| " " [gl|
|00001450| 6f 62 20 24 61 72 67 5d | 0d 20 20 20 20 7d 0d 20 |ob $arg]|. }. |
|00001460| 20 20 20 73 65 74 20 72 | 65 70 6f 72 74 20 22 22 | set r|eport ""|
|00001470| 0d 20 20 20 20 69 66 20 | 7b 5b 6c 6c 65 6e 67 74 |. if |{[llengt|
|00001480| 68 20 24 66 69 6c 65 73 | 5d 20 3d 3d 20 31 7d 20 |h $files|] == 1} |
|00001490| 7b 0d 20 20 20 20 20 20 | 20 20 73 65 74 20 66 20 |{. | set f |
|000014a0| 5b 6c 69 6e 64 65 78 20 | 24 66 69 6c 65 73 20 30 |[lindex |$files 0|
|000014b0| 5d 0d 20 20 20 20 20 20 | 20 20 69 66 20 7b 5b 66 |]. | if {[f|
|000014c0| 69 6c 65 20 65 78 69 73 | 74 73 20 24 64 69 72 5d |ile exis|ts $dir]|
|000014d0| 7d 20 7b 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |} {. | |
|000014e0| 73 65 74 20 74 61 72 67 | 20 24 64 69 72 3a 5b 66 |set targ| $dir:[f|
|000014f0| 69 6c 65 20 74 61 69 6c | 20 24 66 5d 0d 20 20 20 |ile tail| $f]. |
|00001500| 20 20 20 20 20 20 20 20 | 20 61 70 70 65 6e 64 20 | | append |
|00001510| 72 65 70 6f 72 74 20 24 | 66 5c 20 2d 3e 5c 20 24 |report $|f\ ->\ $|
|00001520| 74 61 72 67 20 5c 72 20 | 0d 20 20 20 20 20 20 20 |targ \r |. |
|00001530| 20 20 20 20 20 63 6f 70 | 79 46 69 6c 65 20 24 66 | cop|yFile $f|
|00001540| 20 24 74 61 72 67 0d 20 | 20 20 20 20 20 20 20 7d | $targ. | }|
|00001550| 20 65 6c 73 65 20 7b 0d | 20 20 20 20 20 20 20 20 | else {.| |
|00001560| 20 20 20 20 61 70 70 65 | 6e 64 20 72 65 70 6f 72 | appe|nd repor|
|00001570| 74 20 24 66 5c 20 2d 3e | 5c 20 24 64 69 72 20 5c |t $f\ ->|\ $dir \|
|00001580| 72 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 63 6f |r. | co|
|00001590| 70 79 46 69 6c 65 20 24 | 66 20 24 64 69 72 0d 20 |pyFile $|f $dir. |
|000015a0| 20 20 20 20 20 20 20 7d | 0d 20 20 20 20 7d 20 65 | }|. } e|
|000015b0| 6c 73 65 20 7b 0d 20 20 | 20 20 20 20 20 20 66 6f |lse {. | fo|
|000015c0| 72 65 61 63 68 20 66 20 | 24 66 69 6c 65 73 20 7b |reach f |$files {|
|000015d0| 0d 20 20 20 20 20 20 20 | 20 09 6d 65 73 73 61 67 |. | .messag|
|000015e0| 65 20 5b 66 69 6c 65 20 | 74 61 69 6c 20 24 66 5d |e [file |tail $f]|
|000015f0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 73 65 74 |. | set|
|00001600| 20 74 61 72 67 20 24 64 | 69 72 3a 5b 66 69 6c 65 | targ $d|ir:[file|
|00001610| 20 74 61 69 6c 20 24 66 | 5d 0d 20 20 20 20 20 20 | tail $f|]. |
|00001620| 20 20 20 20 20 20 61 70 | 70 65 6e 64 20 72 65 70 | ap|pend rep|
|00001630| 6f 72 74 20 24 66 5c 20 | 2d 3e 5c 20 24 74 61 72 |ort $f\ |->\ $tar|
|00001640| 67 20 5c 72 0d 20 20 20 | 20 20 20 20 20 20 20 20 |g \r. | |
|00001650| 20 69 66 20 7b 5b 63 61 | 74 63 68 20 7b 63 6f 70 | if {[ca|tch {cop|
|00001660| 79 46 69 6c 65 20 24 66 | 20 24 74 61 72 67 7d 20 |yFile $f| $targ} |
|00001670| 74 68 61 74 5d 7d 20 7b | 0d 20 20 20 20 20 20 20 |that]} {|. |
|00001680| 20 20 20 20 20 20 20 20 | 20 61 6c 65 72 74 6e 6f | | alertno|
|00001690| 74 65 20 22 45 72 72 6f | 72 20 63 6f 70 79 69 6e |te "Erro|r copyin|
|000016a0| 67 20 27 24 66 27 20 2d | 3e 20 27 24 74 61 72 67 |g '$f' -|> '$targ|
|000016b0| 27 3a 20 24 74 68 61 74 | 22 0d 20 20 20 20 20 20 |': $that|". |
|000016c0| 20 20 20 20 20 20 7d 0d | 20 20 20 20 20 20 20 20 | }.| |
|000016d0| 7d 0d 20 20 20 20 7d 0d | 20 20 20 20 65 63 68 6f |}. }.| echo|
|000016e0| 20 5b 73 74 72 69 6e 67 | 20 74 72 69 6d 72 69 67 | [string| trimrig|
|000016f0| 68 74 20 24 72 65 70 6f | 72 74 5d 0d 7d 0d 0d 70 |ht $repo|rt].}..p|
|00001700| 72 6f 63 20 6d 76 20 61 | 72 67 73 20 7b 0d 20 20 |roc mv a|rgs {. |
|00001710| 20 20 69 66 20 7b 5b 73 | 65 74 20 6c 65 6e 20 5b | if {[s|et len [|
|00001720| 6c 6c 65 6e 67 74 68 20 | 24 61 72 67 73 5d 5d 20 |llength |$args]] |
|00001730| 3c 20 32 7d 20 7b 0d 20 | 20 20 20 20 20 20 20 65 |< 2} {. | e|
|00001740| 72 72 6f 72 20 22 75 73 | 61 67 65 3a 20 6d 76 20 |rror "us|age: mv |
|00001750| 3c 66 69 6c 65 31 3e 20 | 3c 66 69 6c 65 32 3e 5c |<file1> |<file2>\|
|00001760| 72 20 20 20 20 20 20 20 | 6d 76 20 3c 66 69 6c 65 |r |mv <file|
|00001770| 31 3e 20 2e 2e 2e 2e 20 | 3c 64 69 72 3e 22 0d 20 |1> .... |<dir>". |
|00001780| 20 20 20 7d 0d 20 20 20 | 20 73 65 74 20 6c 65 6e | }. | set len|
|00001790| 20 5b 65 78 70 72 20 24 | 6c 65 6e 2d 31 5d 0d 20 | [expr $|len-1]. |
|000017a0| 20 20 20 69 66 20 7b 21 | 5b 72 65 67 65 78 70 20 | if {!|[regexp |
|000017b0| 7b 2e 2a 5b 5e 3a 5d 7d | 20 5b 6c 69 6e 64 65 78 |{.*[^:]}| [lindex|
|000017c0| 20 24 61 72 67 73 20 24 | 6c 65 6e 5d 20 64 69 72 | $args $|len] dir|
|000017d0| 5d 7d 20 7b 0d 20 20 20 | 20 20 20 20 20 73 65 74 |]} {. | set|
|000017e0| 20 64 69 72 20 5b 73 74 | 72 69 6e 67 20 72 61 6e | dir [st|ring ran|
|000017f0| 67 65 20 5b 6c 69 6e 64 | 65 78 20 24 61 72 67 73 |ge [lind|ex $args|
|00001800| 20 24 6c 65 6e 5d 20 31 | 20 65 6e 64 5d 0d 20 20 | $len] 1| end]. |
|00001810| 20 20 7d 0d 20 20 20 20 | 69 66 20 7b 21 5b 72 65 | }. |if {![re|
|00001820| 67 65 78 70 20 7b 3a 7d | 20 24 64 69 72 5d 20 26 |gexp {:}| $dir] &|
|00001830| 26 20 24 64 69 72 20 21 | 3d 20 22 22 7d 20 7b 0d |& $dir !|= ""} {.|
|00001840| 20 20 20 20 20 20 20 20 | 73 65 74 20 64 69 72 20 | |set dir |
|00001850| 5b 63 6f 6e 63 61 74 20 | 3a 24 64 69 72 5d 7d 0d |[concat |:$dir]}.|
|00001860| 20 20 20 20 73 65 74 20 | 61 72 67 73 20 5b 6c 72 | set |args [lr|
|00001870| 65 70 6c 61 63 65 20 24 | 61 72 67 73 20 24 6c 65 |eplace $|args $le|
|00001880| 6e 20 24 6c 65 6e 5d 0d | 20 20 20 20 73 65 74 20 |n $len].| set |
|00001890| 66 69 6c 65 73 20 7b 7d | 0d 20 20 20 20 66 6f 72 |files {}|. for|
|000018a0| 65 61 63 68 20 61 72 67 | 20 24 61 72 67 73 20 7b |each arg| $args {|
|000018b0| 0d 20 20 20 20 20 20 20 | 20 61 70 70 65 6e 64 20 |. | append |
|000018c0| 66 69 6c 65 73 20 22 20 | 22 20 5b 67 6c 6f 62 20 |files " |" [glob |
|000018d0| 24 61 72 67 5d 0d 20 20 | 20 20 7d 0d 20 20 20 20 |$arg]. | }. |
|000018e0| 73 65 74 20 72 65 70 6f | 72 74 20 22 22 0d 20 20 |set repo|rt "". |
|000018f0| 20 20 69 66 20 7b 5b 6c | 6c 65 6e 67 74 68 20 24 | if {[l|length $|
|00001900| 66 69 6c 65 73 5d 20 3d | 3d 20 31 7d 20 7b 0d 20 |files] =|= 1} {. |
|00001910| 20 20 20 20 20 20 20 73 | 65 74 20 66 20 5b 6c 69 | s|et f [li|
|00001920| 6e 64 65 78 20 24 66 69 | 6c 65 73 20 30 5d 0d 20 |ndex $fi|les 0]. |
|00001930| 20 20 20 20 20 20 20 69 | 66 20 7b 5b 66 69 6c 65 | i|f {[file|
|00001940| 20 65 78 69 73 74 73 20 | 24 64 69 72 5d 7d 20 7b | exists |$dir]} {|
|00001950| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 73 65 74 |. | set|
|00001960| 20 74 61 72 67 20 24 64 | 69 72 3a 5b 66 69 6c 65 | targ $d|ir:[file|
|00001970| 20 74 61 69 6c 20 24 66 | 5d 0d 20 20 20 20 20 20 | tail $f|]. |
|00001980| 20 20 20 20 20 20 61 70 | 70 65 6e 64 20 72 65 70 | ap|pend rep|
|00001990| 6f 72 74 20 24 66 5c 20 | 3e 2d 3e 5c 20 24 74 61 |ort $f\ |>->\ $ta|
|000019a0| 72 67 20 5c 72 0d 20 20 | 20 20 20 20 20 20 20 20 |rg \r. | |
|000019b0| 20 20 6d 6f 76 65 46 69 | 6c 65 20 24 66 20 24 74 | moveFi|le $f $t|
|000019c0| 61 72 67 0d 20 20 20 20 | 20 20 20 20 7d 20 65 6c |arg. | } el|
|000019d0| 73 65 20 7b 0d 20 20 20 | 20 20 20 20 20 20 20 20 |se {. | |
|000019e0| 20 61 70 70 65 6e 64 20 | 72 65 70 6f 72 74 20 24 | append |report $|
|000019f0| 66 5c 20 3e 2d 3e 5c 20 | 24 64 69 72 20 5c 72 0d |f\ >->\ |$dir \r.|
|00001a00| 20 20 20 20 20 20 20 20 | 20 20 20 20 6d 6f 76 65 | | move|
|00001a10| 46 69 6c 65 20 24 66 20 | 24 64 69 72 0d 20 20 20 |File $f |$dir. |
|00001a20| 20 20 20 20 20 7d 0d 20 | 20 20 20 7d 20 65 6c 73 | }. | } els|
|00001a30| 65 20 7b 0d 20 20 20 20 | 20 20 20 20 66 6f 72 65 |e {. | fore|
|00001a40| 61 63 68 20 66 20 24 66 | 69 6c 65 73 20 7b 0d 20 |ach f $f|iles {. |
|00001a50| 20 20 20 20 20 20 20 09 | 6d 65 73 73 61 67 65 20 | .|message |
|00001a60| 5b 66 69 6c 65 20 74 61 | 69 6c 20 24 66 5d 0d 20 |[file ta|il $f]. |
|00001a70| 20 20 20 20 20 20 20 20 | 20 20 20 73 65 74 20 74 | | set t|
|00001a80| 61 72 67 20 24 64 69 72 | 3a 5b 66 69 6c 65 20 74 |arg $dir|:[file t|
|00001a90| 61 69 6c 20 24 66 5d 0d | 20 20 20 20 20 20 20 20 |ail $f].| |
|00001aa0| 20 20 20 20 61 70 70 65 | 6e 64 20 72 65 70 6f 72 | appe|nd repor|
|00001ab0| 74 20 24 66 5c 20 3e 2d | 3e 5c 20 24 74 61 72 67 |t $f\ >-|>\ $targ|
|00001ac0| 20 5c 72 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 | \r. | |
|00001ad0| 69 66 20 7b 5b 63 61 74 | 63 68 20 7b 6d 6f 76 65 |if {[cat|ch {move|
|00001ae0| 46 69 6c 65 20 24 66 20 | 24 74 61 72 67 7d 20 74 |File $f |$targ} t|
|00001af0| 68 61 74 5d 7d 20 7b 0d | 20 20 20 20 20 20 20 20 |hat]} {.| |
|00001b00| 20 20 20 20 20 20 20 20 | 61 6c 65 72 74 6e 6f 74 | |alertnot|
|00001b10| 65 20 22 45 72 72 6f 72 | 20 6d 6f 76 69 6e 67 20 |e "Error| moving |
|00001b20| 27 24 66 27 20 2d 3e 20 | 27 24 74 61 72 67 27 3a |'$f' -> |'$targ':|
|00001b30| 20 24 74 68 61 74 22 0d | 20 20 20 20 20 20 20 20 | $that".| |
|00001b40| 20 20 20 20 7d 0d 20 20 | 20 20 20 20 20 20 7d 0d | }. | }.|
|00001b50| 20 20 20 20 7d 0d 20 20 | 20 20 65 63 68 6f 20 5b | }. | echo [|
|00001b60| 73 74 72 69 6e 67 20 74 | 72 69 6d 72 69 67 68 74 |string t|rimright|
|00001b70| 20 24 72 65 70 6f 72 74 | 5d 0d 7d 0d 0d 0d 70 72 | $report|].}...pr|
|00001b80| 6f 63 20 72 6d 20 61 72 | 67 73 20 7b 0d 09 73 65 |oc rm ar|gs {..se|
|00001b90| 74 20 66 69 6c 65 73 20 | 7b 7d 0d 09 66 6f 72 65 |t files |{}..fore|
|00001ba0| 61 63 68 20 61 72 67 20 | 24 61 72 67 73 20 7b 0d |ach arg |$args {.|
|00001bb0| 09 09 61 70 70 65 6e 64 | 20 66 69 6c 65 73 20 22 |..append| files "|
|00001bc0| 20 22 20 5b 67 6c 6f 62 | 20 24 61 72 67 5d 0d 09 | " [glob| $arg]..|
|00001bd0| 7d 0d 09 66 6f 72 65 61 | 63 68 20 66 20 24 66 69 |}..forea|ch f $fi|
|00001be0| 6c 65 73 20 7b 0d 09 09 | 6d 65 73 73 61 67 65 20 |les {...|message |
|00001bf0| 5b 66 69 6c 65 20 74 61 | 69 6c 20 24 66 5d 0d 09 |[file ta|il $f]..|
|00001c00| 09 72 65 6d 6f 76 65 46 | 69 6c 65 20 24 66 0d 09 |.removeF|ile $f..|
|00001c10| 7d 0d 7d 0d 0d 0d 0d 0d | 23 3d 3d 3d 3d 3d 3d 3d |}.}.....|#=======|
|00001c20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 0d 0d 70 72 6f 63 |========|=...proc|
|00001c70| 20 74 63 6c 46 69 6c 65 | 43 6f 6d 70 6c 65 74 69 | tclFile|Completi|
|00001c80| 6f 6e 20 7b 7d 20 7b 0d | 09 73 65 74 20 73 69 6c |on {} {.|.set sil|
|00001c90| 6c 79 20 22 2a 22 0d 09 | 73 65 74 20 70 6f 73 20 |ly "*"..|set pos |
|00001ca0| 5b 67 65 74 50 6f 73 5d | 0d 09 73 65 74 20 72 65 |[getPos]|..set re|
|00001cb0| 73 20 5b 73 65 61 72 63 | 68 20 2d 66 20 30 20 2d |s [searc|h -f 0 -|
|00001cc0| 69 20 30 20 2d 6d 20 30 | 20 2d 72 20 31 20 2d 6e |i 0 -m 0| -r 1 -n|
|00001cd0| 20 7b 5b 22 5c 7b 20 5c | 74 5c 72 5d 7d 20 5b 65 | {["\{ \|t\r]} [e|
|00001ce0| 78 70 72 20 24 70 6f 73 | 20 2d 20 31 5d 5d 0d 09 |xpr $pos| - 1]]..|
|00001cf0| 69 66 20 7b 5b 73 74 72 | 69 6e 67 20 6c 65 6e 67 |if {[str|ing leng|
|00001d00| 74 68 20 24 72 65 73 5d | 7d 20 7b 0d 09 09 73 65 |th $res]|} {...se|
|00001d10| 74 20 66 72 6f 6d 20 5b | 6c 69 6e 64 65 78 20 24 |t from [|lindex $|
|00001d20| 72 65 73 20 31 5d 0d 09 | 09 69 66 20 7b 24 66 72 |res 1]..|.if {$fr|
|00001d30| 6f 6d 20 3c 20 24 70 6f | 73 7d 20 7b 0d 09 09 09 |om < $po|s} {....|
|00001d40| 73 65 74 20 70 64 20 5b | 70 77 64 5d 0d 09 09 09 |set pd [|pwd]....|
|00001d50| 73 65 74 20 74 65 78 74 | 20 5b 67 65 74 54 65 78 |set text| [getTex|
|00001d60| 74 20 24 66 72 6f 6d 20 | 24 70 6f 73 5d 0d 09 09 |t $from |$pos]...|
|00001d70| 09 69 66 20 7b 5b 73 74 | 72 69 6e 67 20 69 6e 64 |.if {[st|ring ind|
|00001d80| 65 78 20 24 74 65 78 74 | 20 30 5d 20 3d 3d 20 22 |ex $text| 0] == "|
|00001d90| 3a 22 7d 20 7b 0d 09 09 | 09 09 73 65 74 20 70 64 |:"} {...|..set pd|
|00001da0| 20 5b 73 74 72 69 6e 67 | 20 74 72 69 6d 72 69 67 | [string| trimrig|
|00001db0| 68 74 20 24 70 64 20 22 | 3a 22 5d 0d 09 09 09 7d |ht $pd "|:"]....}|
|00001dc0| 0d 09 09 09 69 66 20 7b | 5b 63 61 74 63 68 20 7b |....if {|[catch {|
|00001dd0| 67 6c 6f 62 20 24 70 64 | 24 74 65 78 74 24 73 69 |glob $pd|$text$si|
|00001de0| 6c 6c 79 7d 20 67 6c 6f | 62 62 65 64 5d 7d 20 7b |lly} glo|bbed]} {|
|00001df0| 0d 09 09 09 09 73 65 74 | 20 67 6c 6f 62 62 65 64 |.....set| globbed|
|00001e00| 20 5b 67 6c 6f 62 20 24 | 74 65 78 74 24 73 69 6c | [glob $|text$sil|
|00001e10| 6c 79 5d 0d 09 09 09 09 | 73 65 74 20 70 64 20 22 |ly].....|set pd "|
|00001e20| 22 0d 09 09 09 7d 0d 09 | 09 09 69 66 20 7b 5b 6c |"....}..|..if {[l|
|00001e30| 6c 65 6e 67 74 68 20 24 | 67 6c 6f 62 62 65 64 5d |length $|globbed]|
|00001e40| 20 3d 3d 20 31 7d 20 7b | 0d 09 09 09 09 73 65 74 | == 1} {|.....set|
|00001e50| 20 6c 65 6e 20 5b 73 74 | 72 69 6e 67 20 6c 65 6e | len [st|ring len|
|00001e60| 67 74 68 20 24 70 64 24 | 74 65 78 74 5d 0d 09 09 |gth $pd$|text]...|
|00001e70| 09 09 69 6e 73 65 72 74 | 54 65 78 74 20 5b 73 74 |..insert|Text [st|
|00001e80| 72 69 6e 67 20 72 61 6e | 67 65 20 5b 6c 69 6e 64 |ring ran|ge [lind|
|00001e90| 65 78 20 24 67 6c 6f 62 | 62 65 64 20 30 5d 20 24 |ex $glob|bed 0] $|
|00001ea0| 6c 65 6e 20 65 6e 64 5d | 0d 09 09 09 7d 20 65 6c |len end]|....} el|
|00001eb0| 73 65 69 66 20 7b 5b 6c | 6c 65 6e 67 74 68 20 24 |seif {[l|length $|
|00001ec0| 67 6c 6f 62 62 65 64 5d | 20 21 3d 20 30 7d 20 7b |globbed]| != 0} {|
|00001ed0| 0d 09 09 09 09 73 65 74 | 20 67 6c 6f 62 62 65 64 |.....set| globbed|
|00001ee0| 20 5b 6c 73 6f 72 74 20 | 24 67 6c 6f 62 62 65 64 | [lsort |$globbed|
|00001ef0| 5d 0d 09 09 09 09 73 65 | 74 20 6f 6e 65 20 5b 6c |].....se|t one [l|
|00001f00| 69 6e 64 65 78 20 24 67 | 6c 6f 62 62 65 64 20 30 |index $g|lobbed 0|
|00001f10| 5d 0d 09 09 09 09 73 65 | 74 20 74 77 6f 20 5b 6c |].....se|t two [l|
|00001f20| 69 6e 64 65 78 20 24 67 | 6c 6f 62 62 65 64 20 65 |index $g|lobbed e|
|00001f30| 6e 64 5d 0d 09 09 09 09 | 0d 09 09 09 09 73 65 74 |nd].....|.....set|
|00001f40| 20 6c 65 6e 20 5b 73 74 | 72 69 6e 67 20 6c 65 6e | len [st|ring len|
|00001f50| 67 74 68 20 24 70 64 24 | 74 65 78 74 5d 0d 09 09 |gth $pd$|text]...|
|00001f60| 09 09 73 65 74 20 6f 6e | 65 20 5b 73 74 72 69 6e |..set on|e [strin|
|00001f70| 67 20 72 61 6e 67 65 20 | 24 6f 6e 65 20 24 6c 65 |g range |$one $le|
|00001f80| 6e 20 65 6e 64 5d 0d 09 | 09 09 09 73 65 74 20 74 |n end]..|...set t|
|00001f90| 77 6f 20 5b 73 74 72 69 | 6e 67 20 72 61 6e 67 65 |wo [stri|ng range|
|00001fa0| 20 24 74 77 6f 20 24 6c | 65 6e 20 65 6e 64 5d 0d | $two $l|en end].|
|00001fb0| 09 09 09 09 0d 09 09 09 | 09 73 65 74 20 65 6c 65 |........|.set ele|
|00001fc0| 6e 20 5b 73 74 72 69 6e | 67 20 6c 65 6e 67 74 68 |n [strin|g length|
|00001fd0| 20 24 6f 6e 65 5d 0d 09 | 09 09 09 69 66 20 7b 5b | $one]..|...if {[|
|00001fe0| 73 74 72 69 6e 67 20 6c | 65 6e 67 74 68 20 24 74 |string l|ength $t|
|00001ff0| 77 6f 5d 20 3c 20 24 65 | 6c 65 6e 7d 20 7b 0d 09 |wo] < $e|len} {..|
|00002000| 09 09 09 09 73 65 74 20 | 65 6c 65 6e 20 5b 73 74 |....set |elen [st|
|00002010| 72 69 6e 67 20 6c 65 6e | 67 74 68 20 24 74 77 6f |ring len|gth $two|
|00002020| 5d 0d 09 09 09 09 7d 0d | 09 09 09 09 73 65 74 20 |].....}.|....set |
|00002030| 6c 65 6e 20 30 0d 09 09 | 09 09 73 65 74 20 73 74 |len 0...|..set st|
|00002040| 72 20 22 22 0d 09 09 09 | 09 77 68 69 6c 65 20 7b |r ""....|.while {|
|00002050| 28 24 6c 65 6e 20 3c 20 | 24 65 6c 65 6e 29 20 26 |($len < |$elen) &|
|00002060| 26 20 28 5b 73 74 72 69 | 6e 67 20 6d 61 74 63 68 |& ([stri|ng match|
|00002070| 20 24 73 74 72 5b 73 74 | 72 69 6e 67 20 69 6e 64 | $str[st|ring ind|
|00002080| 65 78 20 24 6f 6e 65 20 | 24 6c 65 6e 5d 24 73 69 |ex $one |$len]$si|
|00002090| 6c 6c 79 20 24 74 77 6f | 5d 29 7d 20 7b 0d 09 09 |lly $two|])} {...|
|000020a0| 09 09 09 61 70 70 65 6e | 64 20 73 74 72 20 5b 73 |...appen|d str [s|
|000020b0| 74 72 69 6e 67 20 69 6e | 64 65 78 20 24 6f 6e 65 |tring in|dex $one|
|000020c0| 20 24 6c 65 6e 5d 0d 09 | 09 09 09 09 69 6e 63 72 | $len]..|....incr|
|000020d0| 20 6c 65 6e 0d 09 09 09 | 09 7d 0d 0d 09 09 09 09 | len....|.}......|
|000020e0| 69 66 20 7b 21 24 6c 65 | 6e 7d 20 7b 0d 09 09 09 |if {!$le|n} {....|
|000020f0| 09 09 73 65 74 20 65 6c | 65 6e 20 5b 73 74 72 69 |..set el|en [stri|
|00002100| 6e 67 20 6c 65 6e 67 74 | 68 20 24 70 64 5d 0d 09 |ng lengt|h $pd]..|
|00002110| 09 09 09 09 66 6f 72 65 | 61 63 68 20 67 20 24 67 |....fore|ach g $g|
|00002120| 6c 6f 62 62 65 64 20 7b | 0d 09 09 09 09 09 09 6c |lobbed {|.......l|
|00002130| 61 70 70 65 6e 64 20 73 | 68 6f 72 74 20 5b 73 74 |append s|hort [st|
|00002140| 72 69 6e 67 20 72 61 6e | 67 65 20 24 67 20 24 65 |ring ran|ge $g $e|
|00002150| 6c 65 6e 20 65 6e 64 5d | 0d 09 09 09 09 09 7d 0d |len end]|......}.|
|00002160| 09 09 09 09 09 73 65 74 | 20 62 6c 61 68 20 5b 67 |.....set| blah [g|
|00002170| 65 74 54 65 78 74 20 5b | 6c 69 6e 65 53 74 61 72 |etText [|lineStar|
|00002180| 74 20 5b 67 65 74 50 6f | 73 5d 5d 20 5b 67 65 74 |t [getPo|s]] [get|
|00002190| 50 6f 73 5d 5d 0d 09 09 | 09 09 09 69 6e 73 65 72 |Pos]]...|...inser|
|000021a0| 74 54 65 78 74 20 22 5c | 72 22 20 24 73 68 6f 72 |tText "\|r" $shor|
|000021b0| 74 20 22 5c 72 22 20 24 | 62 6c 61 68 0d 09 09 09 |t "\r" $|blah....|
|000021c0| 09 7d 20 65 6c 73 65 20 | 7b 0d 09 09 09 09 09 69 |.} else |{......i|
|000021d0| 6e 73 65 72 74 54 65 78 | 74 20 24 73 74 72 0d 09 |nsertTex|t $str..|
|000021e0| 09 09 09 7d 0d 09 09 09 | 7d 0d 09 09 7d 0d 09 7d |...}....|}...}..}|
|000021f0| 0d 7d 0d 0d 0d 0d 23 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.}....#=|========|
|00002200| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002210| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002220| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002230| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002240| 3d 3d 3d 3d 3d 3d 3d 0d | 23 20 54 6f 20 70 72 65 |=======.|# To pre|
|00002250| 76 65 6e 74 20 61 6d 62 | 69 67 75 69 74 79 2c 20 |vent amb|iguity, |
|00002260| 27 66 72 6f 6d 27 20 69 | 73 20 61 73 73 75 6d 65 |'from' i|s assume|
|00002270| 64 20 74 6f 20 62 65 20 | 61 20 63 6f 6d 70 6c 65 |d to be |a comple|
|00002280| 74 65 20 70 61 74 68 6e | 61 6d 65 2c 20 65 6e 64 |te pathn|ame, end|
|00002290| 69 6e 67 0d 23 20 69 6e | 20 61 20 64 69 72 65 63 |ing.# in| a direc|
|000022a0| 74 6f 72 79 20 6e 61 6d | 65 2e 20 49 66 20 69 74 |tory nam|e. If it|
|000022b0| 20 64 6f 65 73 6e 27 74 | 20 65 6e 64 20 77 2f 20 | doesn't| end w/ |
|000022c0| 61 20 63 6f 6c 6f 6e 2c | 20 6f 6e 65 20 69 73 20 |a colon,| one is |
|000022d0| 61 64 64 65 64 2e 20 27 | 74 6f 27 20 69 73 0d 23 |added. '|to' is.#|
|000022e0| 20 61 73 73 75 6d 65 64 | 20 74 6f 20 62 65 20 74 | assumed| to be t|
|000022f0| 68 65 20 70 61 72 65 6e | 74 20 64 69 72 65 63 74 |he paren|t direct|
|00002300| 6f 72 79 20 6f 66 20 74 | 68 65 20 74 6f 70 20 64 |ory of t|he top d|
|00002310| 69 72 65 63 74 6f 72 79 | 20 77 65 20 61 72 65 20 |irectory| we are |
|00002320| 63 72 65 61 74 69 6e 67 | 2e 0d 23 3d 3d 3d 3d 3d |creating|..#=====|
|00002330| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002340| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002350| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002360| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002370| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 70 72 6f 63 |========|===.proc|
|00002380| 20 63 70 64 69 72 20 7b | 66 72 6f 6d 20 74 6f 7d | cpdir {|from to}|
|00002390| 20 7b 0d 09 73 65 74 20 | 63 77 64 20 5b 70 77 64 | {..set |cwd [pwd|
|000023a0| 5d 0d 09 69 66 20 7b 5b | 73 74 72 69 6e 67 20 6d |]..if {[|string m|
|000023b0| 61 74 63 68 20 22 3a 2a | 22 20 24 66 72 6f 6d 5d |atch ":*|" $from]|
|000023c0| 20 7c 7c 20 5b 73 74 72 | 69 6e 67 20 6d 61 74 63 | || [str|ing matc|
|000023d0| 68 20 22 3a 2a 22 20 24 | 74 6f 5d 20 7c 7c 0d 09 |h ":*" $|to] ||..|
|000023e0| 09 21 5b 66 69 6c 65 20 | 65 78 69 73 74 73 20 24 |.![file |exists $|
|000023f0| 66 72 6f 6d 5d 20 7c 7c | 20 21 5b 66 69 6c 65 20 |from] ||| ![file |
|00002400| 65 78 69 73 74 73 20 24 | 74 6f 5d 7d 20 7b 0d 09 |exists $|to]} {..|
|00002410| 09 65 72 72 6f 72 20 22 | 27 63 70 64 69 72 27 20 |.error "|'cpdir' |
|00002420| 61 72 67 73 20 6d 75 73 | 74 20 62 65 20 63 6f 6d |args mus|t be com|
|00002430| 70 6c 65 74 65 20 70 61 | 74 68 6e 61 6d 65 73 20 |plete pa|thnames |
|00002440| 6f 66 20 65 78 69 73 74 | 69 6e 67 20 66 6f 6c 64 |of exist|ing fold|
|00002450| 65 72 73 2e 22 0d 09 7d | 0d 09 69 66 20 7b 21 5b |ers."..}|..if {![|
|00002460| 73 74 72 69 6e 67 20 6d | 61 74 63 68 20 22 2a 3a |string m|atch "*:|
|00002470| 22 20 24 66 72 6f 6d 5d | 7d 20 7b 61 70 70 65 6e |" $from]|} {appen|
|00002480| 64 20 66 72 6f 6d 20 22 | 3a 22 7d 0d 09 69 66 20 |d from "|:"}..if |
|00002490| 7b 21 5b 73 74 72 69 6e | 67 20 6d 61 74 63 68 20 |{![strin|g match |
|000024a0| 22 2a 3a 22 20 24 74 6f | 5d 7d 20 7b 61 70 70 65 |"*:" $to|]} {appe|
|000024b0| 6e 64 20 74 6f 20 22 3a | 22 7d 0d 09 0d 09 69 66 |nd to ":|"}....if|
|000024c0| 20 7b 21 5b 66 69 6c 65 | 20 69 73 64 69 72 20 24 | {![file| isdir $|
|000024d0| 66 72 6f 6d 5d 20 7c 7c | 20 21 5b 66 69 6c 65 20 |from] ||| ![file |
|000024e0| 69 73 64 69 72 20 24 74 | 6f 5d 7d 20 7b 0d 09 09 |isdir $t|o]} {...|
|000024f0| 65 78 69 74 20 31 0d 09 | 7d 0d 09 09 0d 09 73 65 |exit 1..|}.....se|
|00002500| 74 20 72 65 73 20 5b 63 | 61 74 63 68 20 7b 63 70 |t res [c|atch {cp|
|00002510| 68 69 65 72 20 24 66 72 | 6f 6d 20 24 74 6f 7d 20 |hier $fr|om $to} |
|00002520| 76 61 6c 5d 0d 09 63 64 | 20 24 63 77 64 0d 09 69 |val]..cd| $cwd..i|
|00002530| 66 20 7b 24 72 65 73 7d | 20 7b 65 72 72 6f 72 20 |f {$res}| {error |
|00002540| 24 76 61 6c 7d 0d 7d 0d | 0d 70 72 6f 63 20 63 70 |$val}.}.|.proc cp|
|00002550| 68 69 65 72 20 7b 66 72 | 6f 6d 20 74 6f 7d 20 7b |hier {fr|om to} {|
|00002560| 0d 09 73 65 74 20 73 61 | 76 65 64 69 72 20 5b 70 |..set sa|vedir [p|
|00002570| 77 64 5d 0d 09 69 66 20 | 7b 5b 73 74 72 69 6e 67 |wd]..if |{[string|
|00002580| 20 69 6e 64 65 78 20 24 | 66 72 6f 6d 20 5b 65 78 | index $|from [ex|
|00002590| 70 72 20 5b 73 74 72 69 | 6e 67 20 6c 65 6e 20 24 |pr [stri|ng len $|
|000025a0| 66 72 6f 6d 5d 20 2d 20 | 31 5d 5d 20 21 3d 20 22 |from] - |1]] != "|
|000025b0| 3a 22 7d 20 7b 61 70 70 | 65 6e 64 20 66 72 6f 6d |:"} {app|end from|
|000025c0| 20 22 3a 22 7d 0d 09 73 | 65 74 20 64 69 72 20 5b | ":"}..s|et dir [|
|000025d0| 66 69 6c 65 20 74 61 69 | 6c 20 5b 73 74 72 69 6e |file tai|l [strin|
|000025e0| 67 20 74 72 69 6d 72 69 | 67 68 74 20 24 66 72 6f |g trimri|ght $fro|
|000025f0| 6d 20 22 3a 22 5d 5d 0d | 09 63 64 20 24 74 6f 0d |m ":"]].|.cd $to.|
|00002600| 09 6d 6b 64 69 72 20 22 | 24 64 69 72 22 0d 09 66 |.mkdir "|$dir"..f|
|00002610| 6f 72 65 61 63 68 20 66 | 20 5b 67 6c 6f 62 20 22 |oreach f| [glob "|
|00002620| 24 66 72 6f 6d 2a 22 5d | 20 7b 0d 09 09 69 66 20 |$from*"]| {...if |
|00002630| 7b 5b 66 69 6c 65 20 69 | 73 64 69 72 20 24 66 5d |{[file i|sdir $f]|
|00002640| 7d 20 7b 0d 09 09 09 63 | 70 68 69 65 72 20 22 24 |} {....c|phier "$|
|00002650| 66 3a 22 20 22 24 74 6f | 24 64 69 72 3a 22 0d 09 |f:" "$to|$dir:"..|
|00002660| 09 7d 20 65 6c 73 65 20 | 7b 0d 09 09 09 63 70 20 |.} else |{....cp |
|00002670| 24 66 20 24 74 6f 24 64 | 69 72 3a 0d 09 09 7d 0d |$f $to$d|ir:...}.|
|00002680| 09 7d 0d 09 63 64 20 24 | 73 61 76 65 64 69 72 0d |.}..cd $|savedir.|
|00002690| 7d 0d 0d 0d 69 66 20 7b | 21 5b 73 74 72 69 6e 67 |}...if {|![string|
|000026a0| 20 6c 65 6e 67 74 68 20 | 5b 69 6e 66 6f 20 63 6f | length |[info co|
|000026b0| 6d 6d 61 6e 64 73 20 6f | 6c 64 4d 6b 64 69 72 5d |mmands o|ldMkdir]|
|000026c0| 5d 7d 20 7b 0d 09 72 65 | 6e 61 6d 65 20 6d 6b 64 |]} {..re|name mkd|
|000026d0| 69 72 20 6f 6c 64 4d 6b | 64 69 72 0d 09 72 65 6e |ir oldMk|dir..ren|
|000026e0| 61 6d 65 20 72 6d 64 69 | 72 20 6f 6c 64 52 6d 64 |ame rmdi|r oldRmd|
|000026f0| 69 72 0d 7d 0d 0d 70 72 | 6f 63 20 6d 6b 64 69 72 |ir.}..pr|oc mkdir|
|00002700| 20 7b 64 69 72 7d 20 7b | 0d 09 6f 6c 64 4d 6b 64 | {dir} {|..oldMkd|
|00002710| 69 72 20 5b 6c 69 73 74 | 20 24 64 69 72 5d 0d 7d |ir [list| $dir].}|
|00002720| 0d 0d 70 72 6f 63 20 72 | 6d 64 69 72 20 7b 64 69 |..proc r|mdir {di|
|00002730| 72 7d 20 7b 0d 09 6f 6c | 64 52 6d 64 69 72 20 5b |r} {..ol|dRmdir [|
|00002740| 6c 69 73 74 20 24 64 69 | 72 5d 0d 7d 0d 0d 70 72 |list $di|r].}..pr|
|00002750| 6f 63 20 73 68 65 6c 6c | 42 6f 6c 20 7b 7d 20 7b |oc shell|Bol {} {|
|00002760| 0d 09 73 65 74 20 74 65 | 78 74 20 5b 67 65 74 54 |..set te|xt [getT|
|00002770| 65 78 74 20 5b 6c 69 6e | 65 53 74 61 72 74 20 5b |ext [lin|eStart [|
|00002780| 67 65 74 50 6f 73 5d 5d | 20 5b 6e 65 78 74 4c 69 |getPos]]| [nextLi|
|00002790| 6e 65 53 74 61 72 74 20 | 5b 67 65 74 50 6f 73 5d |neStart |[getPos]|
|000027a0| 5d 5d 0d 09 69 66 20 7b | 5b 73 65 74 20 69 6e 64 |]]..if {|[set ind|
|000027b0| 20 5b 73 74 72 69 6e 67 | 20 66 69 72 73 74 20 22 | [string| first "|
|000027c0| c8 20 22 20 24 74 65 78 | 74 5d 5d 20 3e 20 30 7d |. " $tex|t]] > 0}|
|000027d0| 20 7b 0d 09 09 67 6f 74 | 6f 20 5b 65 78 70 72 20 | {...got|o [expr |
|000027e0| 5b 6c 69 6e 65 53 74 61 | 72 74 20 5b 67 65 74 50 |[lineSta|rt [getP|
|000027f0| 6f 73 5d 5d 20 2b 20 24 | 69 6e 64 20 2b 20 32 5d |os]] + $|ind + 2]|
|00002800| 0d 09 7d 20 65 6c 73 65 | 20 7b 0d 09 09 67 6f 74 |..} else| {...got|
|00002810| 6f 20 5b 6c 69 6e 65 53 | 74 61 72 74 20 5b 67 65 |o [lineS|tart [ge|
|00002820| 74 50 6f 73 5d 5d 0d 09 | 7d 0d 7d 0d 62 69 6e 64 |tPos]]..|}.}.bind|
|00002830| 20 27 61 27 20 3c 7a 3e | 20 73 68 65 6c 6c 42 6f | 'a' <z>| shellBo|
|00002840| 6c 20 43 73 68 0d 0d 0d | 70 72 6f 63 20 64 75 6d |l Csh...|proc dum|
|00002850| 6d 79 43 73 68 20 7b 7d | 20 7b 7d 0d 0d 23 3d 3d |myCsh {}| {}..#==|
|00002860| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002870| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002880| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002890| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000028a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 0d |========|======..|
|000028b0| 70 72 6f 63 20 73 68 65 | 6c 6c 75 70 20 7b 7d 20 |proc she|llup {} |
|000028c0| 7b 0d 09 73 65 74 20 70 | 6f 73 20 5b 65 78 70 72 |{..set p|os [expr|
|000028d0| 20 5b 6c 69 6e 65 53 74 | 61 72 74 20 5b 67 65 74 | [lineSt|art [get|
|000028e0| 50 6f 73 5d 5d 20 2d 20 | 31 5d 0d 09 69 66 20 7b |Pos]] - |1]..if {|
|000028f0| 5b 63 61 74 63 68 20 7b | 72 65 67 65 78 70 20 7b |[catch {|regexp {|
|00002900| b0 7d 20 5b 67 65 74 54 | 65 78 74 20 5b 6c 69 6e |.} [getT|ext [lin|
|00002910| 65 53 74 61 72 74 20 24 | 70 6f 73 5d 20 5b 6e 65 |eStart $|pos] [ne|
|00002920| 78 74 4c 69 6e 65 53 74 | 61 72 74 20 24 70 6f 73 |xtLineSt|art $pos|
|00002930| 5d 5d 7d 20 72 65 73 5d | 20 7c 7c 20 21 24 72 65 |]]} res]| || !$re|
|00002940| 73 7d 20 7b 0d 09 09 70 | 72 65 76 69 6f 75 73 4c |s} {...p|reviousL|
|00002950| 69 6e 65 3b 20 72 65 74 | 75 72 6e 0d 09 7d 0d 09 |ine; ret|urn..}..|
|00002960| 73 65 6c 65 63 74 20 5b | 6c 69 6e 65 53 74 61 72 |select [|lineStar|
|00002970| 74 20 24 70 6f 73 5d 20 | 5b 6e 65 78 74 4c 69 6e |t $pos] |[nextLin|
|00002980| 65 53 74 61 72 74 20 24 | 70 6f 73 5d 0d 7d 0d 62 |eStart $|pos].}.b|
|00002990| 69 6e 64 20 75 70 20 73 | 68 65 6c 6c 75 70 20 43 |ind up s|hellup C|
|000029a0| 73 68 0d 0d 0d 70 72 6f | 63 20 73 68 65 6c 6c 64 |sh...pro|c shelld|
|000029b0| 6f 77 6e 20 7b 7d 20 7b | 0d 09 73 65 74 20 70 6f |own {} {|..set po|
|000029c0| 73 20 5b 6e 65 78 74 4c | 69 6e 65 53 74 61 72 74 |s [nextL|ineStart|
|000029d0| 20 5b 67 65 74 50 6f 73 | 5d 5d 0d 09 69 66 20 7b | [getPos|]]..if {|
|000029e0| 5b 63 61 74 63 68 20 7b | 72 65 67 65 78 70 20 7b |[catch {|regexp {|
|000029f0| b0 7d 20 5b 67 65 74 54 | 65 78 74 20 24 70 6f 73 |.} [getT|ext $pos|
|00002a00| 20 5b 6e 65 78 74 4c 69 | 6e 65 53 74 61 72 74 20 | [nextLi|neStart |
|00002a10| 24 70 6f 73 5d 5d 7d 20 | 72 65 73 5d 20 7c 7c 20 |$pos]]} |res] || |
|00002a20| 21 24 72 65 73 7d 20 7b | 0d 09 09 6e 65 78 74 4c |!$res} {|...nextL|
|00002a30| 69 6e 65 3b 20 72 65 74 | 75 72 6e 0d 09 7d 0d 09 |ine; ret|urn..}..|
|00002a40| 73 65 6c 65 63 74 20 24 | 70 6f 73 20 5b 6e 65 78 |select $|pos [nex|
|00002a50| 74 4c 69 6e 65 53 74 61 | 72 74 20 24 70 6f 73 5d |tLineSta|rt $pos]|
|00002a60| 0d 7d 0d 62 69 6e 64 20 | 64 6f 77 6e 20 73 68 65 |.}.bind |down she|
|00002a70| 6c 6c 64 6f 77 6e 20 43 | 73 68 0d 0d 09 09 0d 23 |lldown C|sh.....#|
|00002a80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002a90| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002aa0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002ab0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002ac0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002ad0| 0d 70 72 6f 63 20 73 6f | 72 74 64 74 20 7b 64 74 |.proc so|rtdt {dt|
|00002ae0| 7d 20 7b 0d 09 73 63 61 | 6e 20 24 64 74 20 22 25 |} {..sca|n $dt "%|
|00002af0| 64 2f 25 64 2f 25 64 20 | 7b 25 64 3a 25 64 3a 25 |d/%d/%d |{%d:%d:%|
|00002b00| 64 20 25 31 73 4d 7d 22 | 20 6d 6f 6e 20 64 61 79 |d %1sM}"| mon day|
|00002b10| 20 79 65 61 20 68 6f 75 | 20 6d 69 6e 20 73 65 63 | yea hou| min sec|
|00002b20| 20 7a 0d 09 69 66 20 7b | 24 7a 20 3d 3d 20 22 50 | z..if {|$z == "P|
|00002b30| 22 7d 20 7b 69 6e 63 72 | 20 68 6f 75 20 31 32 7d |"} {incr| hou 12}|
|00002b40| 0d 09 72 65 74 75 72 6e | 20 5b 66 6f 72 6d 61 74 |..return| [format|
|00002b50| 20 22 25 30 32 64 25 30 | 32 64 25 30 32 64 25 30 | "%02d%0|2d%02d%0|
|00002b60| 32 64 25 30 32 64 22 20 | 24 79 65 61 20 24 6d 6f |2d%02d" |$yea $mo|
|00002b70| 6e 20 24 64 61 79 20 24 | 68 6f 75 20 24 6d 69 6e |n $day $|hou $min|
|00002b80| 5d 0d 7d 0d 0d 0d 70 72 | 6f 63 20 6c 74 20 61 72 |].}...pr|oc lt ar|
|00002b90| 67 73 20 7b 0d 09 73 65 | 74 20 76 61 6c 20 22 2a |gs {..se|t val "*|
|00002ba0| 22 0d 09 73 65 74 20 73 | 6f 72 74 20 31 0d 09 73 |"..set s|ort 1..s|
|00002bb0| 63 61 6e 20 5b 6c 69 6e | 64 65 78 20 5b 64 61 74 |can [lin|dex [dat|
|00002bc0| 65 5d 20 30 5d 20 22 25 | 64 2f 25 64 2f 25 64 22 |e] 0] "%|d/%d/%d"|
|00002bd0| 20 6f 6e 65 20 74 77 6f | 20 74 68 72 65 65 0d 09 | one two| three..|
|00002be0| 73 65 74 20 79 65 61 72 | 20 31 39 24 74 68 72 65 |set year| 19$thre|
|00002bf0| 65 0d 09 0d 09 66 6f 72 | 65 61 63 68 20 61 72 67 |e....for|each arg|
|00002c00| 20 24 61 72 67 73 20 7b | 0d 09 09 73 77 69 74 63 | $args {|...switc|
|00002c10| 68 20 2d 2d 20 24 61 72 | 67 20 7b 0d 09 09 09 22 |h -- $ar|g {...."|
|00002c20| 2d 74 22 20 09 7b 73 65 | 74 20 73 6f 72 74 20 30 |-t" .{se|t sort 0|
|00002c30| 7d 0d 09 09 09 64 65 66 | 61 75 6c 74 09 7b 73 65 |}....def|ault.{se|
|00002c40| 74 20 76 61 6c 20 24 61 | 72 67 7d 0d 09 09 7d 0d |t val $a|rg}...}.|
|00002c50| 09 7d 0d 09 73 65 74 20 | 6d 6f 64 20 22 22 0d 09 |.}..set |mod ""..|
|00002c60| 66 6f 72 65 61 63 68 20 | 66 20 5b 65 76 61 6c 20 |foreach |f [eval |
|00002c70| 67 6c 6f 62 20 24 76 61 | 6c 5d 20 7b 0d 09 09 69 |glob $va|l] {...i|
|00002c80| 66 20 7b 5b 63 61 74 63 | 68 20 7b 67 65 74 46 69 |f {[catc|h {getFi|
|00002c90| 6c 65 49 6e 66 6f 20 24 | 66 20 69 6e 66 6f 7d 5d |leInfo $|f info}]|
|00002ca0| 7d 20 7b 0d 09 09 09 69 | 66 20 7b 24 73 6f 72 74 |} {....i|f {$sort|
|00002cb0| 7d 20 7b 73 65 74 20 6d | 6f 64 20 22 30 30 30 30 |} {set m|od "0000|
|00002cc0| 30 30 30 30 30 30 20 22 | 7d 0d 09 09 09 6c 61 70 |000000 "|}....lap|
|00002cd0| 70 65 6e 64 20 74 65 78 | 74 20 5b 66 6f 72 6d 61 |pend tex|t [forma|
|00002ce0| 74 20 22 25 73 25 73 20 | 25 38 64 25 38 64 20 25 |t "%s%s |%8d%8d %|
|00002cf0| 36 73 20 25 35 73 20 25 | 34 73 20 25 73 20 25 73 |6s %5s %|4s %s %s|
|00002d00| 5c 6e 22 20 24 6d 6f 64 | 20 22 44 22 20 22 30 22 |\n" $mod| "D" "0"|
|00002d10| 20 22 30 22 20 22 22 20 | 22 22 20 22 22 20 22 44 | "0" "" |"" "" "D|
|00002d20| 49 52 20 22 20 5b 66 69 | 6c 65 20 74 61 69 6c 20 |IR " [fi|le tail |
|00002d30| 24 66 5d 5d 0d 09 09 09 | 63 6f 6e 74 69 6e 75 65 |$f]]....|continue|
|00002d40| 0d 09 09 7d 0d 09 09 69 | 66 20 7b 24 73 6f 72 74 |...}...i|f {$sort|
|00002d50| 7d 20 7b 73 65 74 20 6d | 6f 64 20 22 5b 73 6f 72 |} {set m|od "[sor|
|00002d60| 74 64 74 20 5b 6d 74 69 | 6d 65 20 24 69 6e 66 6f |tdt [mti|me $info|
|00002d70| 28 6d 6f 64 69 66 69 65 | 64 29 20 73 5d 5d 20 22 |(modifie|d) s]] "|
|00002d80| 7d 0d 09 09 73 65 74 20 | 6d 20 5b 6d 74 69 6d 65 |}...set |m [mtime|
|00002d90| 20 24 69 6e 66 6f 28 6d | 6f 64 69 66 69 65 64 29 | $info(m|odified)|
|00002da0| 20 61 5d 0d 09 09 73 65 | 74 20 7a 65 72 20 5b 6c | a]...se|t zer [l|
|00002db0| 69 6e 64 65 78 20 24 6d | 20 30 5d 0d 09 09 73 65 |index $m| 0]...se|
|00002dc0| 74 20 64 61 74 20 5b 66 | 6f 72 6d 61 74 20 22 25 |t dat [f|ormat "%|
|00002dd0| 73 20 25 32 73 22 20 5b | 6c 69 6e 64 65 78 20 24 |s %2s" [|lindex $|
|00002de0| 7a 65 72 20 31 5d 20 5b | 73 74 72 69 6e 67 20 74 |zer 1] [|string t|
|00002df0| 72 69 6d 72 69 67 68 74 | 20 5b 6c 69 6e 64 65 78 |rimright| [lindex|
|00002e00| 20 24 7a 65 72 20 32 5d | 20 7b 2c 7d 5d 5d 0d 09 | $zer 2]| {,}]]..|
|00002e10| 09 69 66 20 7b 5b 6c 69 | 6e 64 65 78 20 24 7a 65 |.if {[li|ndex $ze|
|00002e20| 72 20 33 5d 20 3d 3d 20 | 24 79 65 61 72 7d 20 7b |r 3] == |$year} {|
|00002e30| 0d 09 09 09 69 66 20 7b | 5b 73 63 61 6e 20 5b 6c |....if {|[scan [l|
|00002e40| 69 6e 64 65 78 20 24 6d | 20 31 5d 20 22 25 64 3a |index $m| 1] "%d:|
|00002e50| 25 64 3a 25 64 20 25 73 | 22 20 6f 6e 65 20 74 77 |%d:%d %s|" one tw|
|00002e60| 6f 20 74 68 72 65 65 20 | 61 6d 5d 20 21 3d 20 34 |o three |am] != 4|
|00002e70| 7d 20 7b 0d 09 09 09 09 | 65 72 72 6f 72 20 22 44 |} {.....|error "D|
|00002e80| 69 64 6e 27 74 20 67 65 | 74 20 66 6f 75 72 20 66 |idn't ge|t four f|
|00002e90| 72 6f 6d 20 73 63 61 6e | 22 0d 09 09 09 7d 0d 09 |rom scan|"....}..|
|00002ea0| 09 09 69 66 20 7b 5b 73 | 74 72 69 6e 67 20 6c 65 |..if {[s|tring le|
|00002eb0| 6e 67 74 68 20 24 74 77 | 6f 5d 20 3d 3d 20 31 7d |ngth $tw|o] == 1}|
|00002ec0| 20 7b 73 65 74 20 74 77 | 6f 20 22 30 24 74 77 6f | {set tw|o "0$two|
|00002ed0| 22 7d 0d 09 09 09 73 65 | 74 20 74 6d 20 5b 65 78 |"}....se|t tm [ex|
|00002ee0| 70 72 20 7b 24 61 6d 20 | 3d 3d 20 22 41 4d 22 7d |pr {$am |== "AM"}|
|00002ef0| 20 3f 20 24 6f 6e 65 20 | 3a 20 5b 65 78 70 72 20 | ? $one |: [expr |
|00002f00| 24 6f 6e 65 20 2b 20 31 | 32 5d 5d 3a 24 74 77 6f |$one + 1|2]]:$two|
|00002f10| 0d 09 09 7d 20 65 6c 73 | 65 20 7b 0d 09 09 09 73 |...} els|e {....s|
|00002f20| 65 74 20 74 6d 20 22 20 | 5b 6c 69 6e 64 65 78 20 |et tm " |[lindex |
|00002f30| 24 7a 65 72 20 33 5d 22 | 0d 09 09 7d 0d 09 09 6c |$zer 3]"|...}...l|
|00002f40| 61 70 70 65 6e 64 20 74 | 65 78 74 20 5b 66 6f 72 |append t|ext [for|
|00002f50| 6d 61 74 20 22 25 73 46 | 20 25 38 64 25 38 64 20 |mat "%sF| %8d%8d |
|00002f60| 25 73 20 25 35 73 20 25 | 73 20 25 73 20 25 73 5c |%s %5s %|s %s %s\|
|00002f70| 6e 22 20 24 6d 6f 64 20 | 24 69 6e 66 6f 28 64 61 |n" $mod |$info(da|
|00002f80| 74 61 6c 65 6e 29 20 24 | 69 6e 66 6f 28 72 65 73 |talen) $|info(res|
|00002f90| 6f 75 72 63 65 6c 65 6e | 29 20 24 64 61 74 20 24 |ourcelen|) $dat $|
|00002fa0| 74 6d 20 24 69 6e 66 6f | 28 63 72 65 61 74 6f 72 |tm $info|(creator|
|00002fb0| 29 20 24 69 6e 66 6f 28 | 74 79 70 65 29 20 5b 66 |) $info(|type) [f|
|00002fc0| 69 6c 65 20 74 61 69 6c | 20 24 66 5d 5d 0d 09 7d |ile tail| $f]]..}|
|00002fd0| 0d 09 69 66 20 7b 24 73 | 6f 72 74 7d 20 7b 0d 09 |..if {$s|ort} {..|
|00002fe0| 09 66 6f 72 65 61 63 68 | 20 6c 6e 20 5b 6c 73 6f |.foreach| ln [lso|
|00002ff0| 72 74 20 2d 64 65 20 24 | 74 65 78 74 5d 20 7b 0d |rt -de $|text] {.|
|00003000| 09 09 09 61 70 70 65 6e | 64 20 74 78 74 20 5b 73 |...appen|d txt [s|
|00003010| 74 72 69 6e 67 20 72 61 | 6e 67 65 20 24 6c 6e 20 |tring ra|nge $ln |
|00003020| 31 31 20 65 6e 64 5d 0d | 09 09 7d 0d 09 09 72 65 |11 end].|..}...re|
|00003030| 74 75 72 6e 20 5b 73 74 | 72 69 6e 67 20 74 72 69 |turn [st|ring tri|
|00003040| 6d 72 69 67 68 74 20 24 | 74 78 74 5d 0d 09 7d 20 |mright $|txt]..} |
|00003050| 65 6c 73 65 20 7b 0d 09 | 09 72 65 74 75 72 6e 20 |else {..|.return |
|00003060| 5b 73 74 72 69 6e 67 20 | 74 72 69 6d 72 69 67 68 |[string |trimrigh|
|00003070| 74 20 5b 6a 6f 69 6e 20 | 24 74 65 78 74 20 7b 7d |t [join |$text {}|
|00003080| 5d 5d 0d 09 7d 0d 7d 0d | 0d 23 3d 3d 3d 3d 3d 3d |]]..}.}.|.#======|
|00003090| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000030a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000030b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000030c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000030d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 0d 70 72 6f 63 20 |========|==.proc |
|000030e0| 70 73 20 7b 7d 20 7b 0d | 09 66 6f 72 65 61 63 68 |ps {} {.|.foreach|
|000030f0| 20 70 20 5b 70 72 6f 63 | 65 73 73 65 73 5d 20 7b | p [proc|esses] {|
|00003100| 0d 09 09 61 70 70 65 6e | 64 20 74 65 78 74 20 5b |...appen|d text [|
|00003110| 66 6f 72 6d 61 74 20 22 | 25 2d 32 35 73 20 25 34 |format "|%-25s %4|
|00003120| 73 20 25 31 30 64 20 25 | 31 30 64 5c 72 22 20 5b |s %10d %|10d\r" [|
|00003130| 6c 69 6e 64 65 78 20 24 | 70 20 30 5d 20 5b 6c 69 |lindex $|p 0] [li|
|00003140| 6e 64 65 78 20 24 70 20 | 31 5d 20 5b 6c 69 6e 64 |ndex $p |1] [lind|
|00003150| 65 78 20 24 70 20 32 5d | 20 5b 6c 69 6e 64 65 78 |ex $p 2]| [lindex|
|00003160| 20 24 70 20 33 5d 5d 0d | 09 7d 0d 09 72 65 74 75 | $p 3]].|.}..retu|
|00003170| 72 6e 20 5b 73 74 72 69 | 6e 67 20 74 72 69 6d 72 |rn [stri|ng trimr|
|00003180| 69 67 68 74 20 24 74 65 | 78 74 5d 0d 7d 0d 0d 0d |ight $te|xt].}...|
|00003190| 23 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |#=======|========|
|000031a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000031b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000031c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000031d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000031e0| 3d 0d 23 20 52 65 63 75 | 72 73 69 76 65 6c 79 20 |=.# Recu|rsively |
|000031f0| 6d 61 6b 65 20 63 72 65 | 61 74 6f 72 20 6f 66 20 |make cre|ator of |
|00003200| 61 6c 6c 20 74 65 78 74 | 20 66 69 6c 65 73 20 27 |all text| files '|
|00003210| 41 4c 46 41 27 2e 20 4f | 70 74 69 6f 6e 61 6c 6c |ALFA'. O|ptionall|
|00003220| 79 20 74 61 6b 65 73 20 | 61 20 73 74 61 72 74 69 |y takes |a starti|
|00003230| 6e 67 0d 23 20 64 69 72 | 20 61 72 67 75 6d 65 6e |ng.# dir| argumen|
|00003240| 74 2c 20 6f 74 68 65 72 | 77 69 73 65 20 73 74 61 |t, other|wise sta|
|00003250| 72 74 73 20 69 6e 20 63 | 75 72 72 65 6e 74 20 64 |rts in c|urrent d|
|00003260| 69 72 65 63 74 6f 72 79 | 2e 0d 70 72 6f 63 20 63 |irectory|..proc c|
|00003270| 72 65 61 74 6f 72 20 7b | 7b 64 69 72 20 22 3a 22 |reator {|{dir ":"|
|00003280| 7d 7d 20 20 7b 0d 09 69 | 66 20 7b 21 5b 63 61 74 |}} {..i|f {![cat|
|00003290| 63 68 20 7b 67 6c 6f 62 | 20 2d 74 20 54 45 58 54 |ch {glob| -t TEXT|
|000032a0| 20 24 64 69 72 2a 7d 20 | 66 69 6c 65 73 5d 7d 20 | $dir*} |files]} |
|000032b0| 7b 0d 09 09 66 6f 72 65 | 61 63 68 20 66 20 24 66 |{...fore|ach f $f|
|000032c0| 69 6c 65 73 20 7b 0d 09 | 09 09 6d 65 73 73 61 67 |iles {..|..messag|
|000032d0| 65 20 24 66 0d 09 09 09 | 73 65 74 46 69 6c 65 49 |e $f....|setFileI|
|000032e0| 6e 66 6f 20 24 66 20 63 | 72 65 61 74 6f 72 20 41 |nfo $f c|reator A|
|000032f0| 4c 46 41 0d 09 09 7d 0d | 09 7d 0d 0d 09 69 66 20 |LFA...}.|.}...if |
|00003300| 7b 21 5b 63 61 74 63 68 | 20 7b 67 6c 6f 62 20 24 |{![catch| {glob $|
|00003310| 64 69 72 2a 7d 20 64 69 | 72 73 5d 7d 20 7b 0d 09 |dir*} di|rs]} {..|
|00003320| 09 66 6f 72 65 61 63 68 | 20 64 20 24 64 69 72 73 |.foreach| d $dirs|
|00003330| 20 7b 0d 09 09 09 69 66 | 20 7b 5b 66 69 6c 65 20 | {....if| {[file |
|00003340| 69 73 64 69 72 20 24 64 | 5d 7d 20 7b 63 72 65 61 |isdir $d|]} {crea|
|00003350| 74 6f 72 20 24 64 3a 7d | 0d 09 09 7d 0d 09 7d 0d |tor $d:}|...}..}.|
|00003360| 7d 0d 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |}.......|........|
|00003370| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003380| 00 00 01 00 00 00 03 34 | 00 00 02 34 00 00 00 42 |.......4|...4...B|
|00003390| 02 1c 02 1e 82 2e 82 2e | 82 2e 82 2e 82 2e 82 2e |........|........|
|000033a0| 82 2e 82 2e 82 2e 82 2e | 82 2e 82 2e 82 2e 02 2e |........|........|
|000033b0| 09 73 68 65 6c 6c 2e 74 | 63 6c 02 00 02 00 54 45 |.shell.t|cl....TE|
|000033c0| 58 54 41 4c 46 41 01 00 | 00 68 00 80 00 00 00 00 |XTALFA..|.h......|
|000033d0| 02 00 54 45 58 54 41 4c | 46 41 01 00 00 68 00 80 |..TEXTAL|FA...h..|
|000033e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000033f0| 00 00 aa 10 6d 76 00 00 | 32 e2 00 00 03 76 83 2c |....mv..|2....v.,|
|00003400| 03 2c 03 38 83 40 03 40 | 03 58 83 5e 03 5e 83 7e |.,.8.@.@|.X.^.^.~|
|00003410| 03 7e 03 94 83 9a 83 9a | 83 9a 03 9a 83 c2 83 c2 |.~......|........|
|00003420| 03 c2 03 d8 83 de 83 de | 03 de 84 10 84 10 04 10 |........|........|
|00003430| 04 26 84 2c 84 2c 04 2c | 84 50 84 50 04 50 04 66 |.&.,.,.,|.P.P.P.f|
|00003440| 84 6c 84 6c 04 6c 84 9c | 84 9c 04 9c 04 b2 84 b8 |.l.l.l..|........|
|00003450| 84 b8 04 b8 84 c4 84 c4 | 84 c4 84 c4 04 c4 04 da |........|........|
|00003460| 85 0a 85 0a 05 0a 05 20 | 05 32 85 36 05 36 05 46 |....... |.2.6.6.F|
|00003470| 85 5c 05 5c 05 5e 85 6e | 85 6e 85 6e 85 6e 85 6e |.\.\.^.n|.n.n.n.n|
|00003480| 00 00 01 e4 00 1d 00 00 | 02 a9 00 00 02 a9 0f 63 |........|.......c|
|00003490| 61 72 72 69 61 67 65 52 | 65 74 75 72 6e 00 00 00 |arriageR|eturn...|
|000034a0| 12 09 00 00 12 09 03 63 | 70 00 00 00 22 fc 00 00 |.......c|p..."...|
|000034b0| 22 fc 05 63 70 64 69 72 | 00 00 24 c9 00 00 24 c9 |"..cpdir|..$...$.|
|000034c0| 07 63 70 68 69 65 72 00 | 00 00 31 ea 00 00 31 ea |.cphier.|..1...1.|
|000034d0| 07 63 72 65 61 74 6f 72 | 00 00 27 c8 00 00 27 c8 |.creator|..'...'.|
|000034e0| 09 64 75 6d 6d 79 43 73 | 68 00 00 00 01 01 00 00 |.dummyCs|h.......|
|000034f0| 01 01 09 69 6e 69 74 53 | 68 65 6c 6c 00 00 0e 6c |...initS|hell...l|
|00003500| 00 00 0e 6c 01 6c 00 00 | 0e 9c 00 00 0e 9c 03 6c |...l.l..|.......l|
|00003510| 6c 00 00 00 2b 06 00 00 | 2b 06 03 6c 74 00 00 00 |l...+...|+..lt...|
|00003520| 26 76 00 00 26 76 05 6d | 6b 64 69 72 00 00 0d 4f |&v..&v.m|kdir...O|
|00003530| 00 00 0d 4f 09 6d 70 77 | 50 72 6f 6d 70 74 00 00 |...O.mpw|Prompt..|
|00003540| 16 7f 00 00 16 7f 03 6d | 76 00 00 00 0a 96 00 00 |.......m|v.......|
|00003550| 0a 96 09 6e 65 78 74 48 | 69 73 74 00 00 00 08 e5 |...nextH|ist.....|
|00003560| 00 00 08 e5 09 70 72 65 | 76 48 69 73 74 00 00 00 |.....pre|vHist...|
|00003570| 30 5b 00 00 30 5b 03 70 | 73 00 00 00 1a fe 00 00 |0[..0[.p|s.......|
|00003580| 1a fe 03 72 6d 00 00 00 | 26 a2 00 00 26 a2 05 72 |...rm...|&...&..r|
|00003590| 6d 64 69 72 00 00 0d 7b | 00 00 0d 7b 0b 73 65 74 |mdir...{|...{.set|
|000035a0| 4d 50 57 4d 6f 64 65 00 | 00 00 00 b7 00 00 00 b7 |MPWMode.|........|
|000035b0| 0d 73 65 74 53 68 65 6c | 6c 4d 6f 64 65 00 00 00 |.setShel|lMode...|
|000035c0| 26 ce 00 00 26 ce 09 73 | 68 65 6c 6c 42 6f 6c 00 |&...&..s|hellBol.|
|000035d0| 00 00 02 2f 00 00 02 2f | 0b 73 68 65 6c 6c 50 72 |.../.../|.shellPr|
|000035e0| 6f 6d 70 74 00 00 29 25 | 00 00 29 25 09 73 68 65 |ompt..)%|..)%.she|
|000035f0| 6c 6c 64 6f 77 6e 00 00 | 28 30 00 00 28 30 07 73 |lldown..|(0..(0.s|
|00003600| 68 65 6c 6c 75 70 00 00 | 2a 51 00 00 2a 51 07 73 |hellup..|*Q..*Q.s|
|00003610| 6f 72 74 64 74 00 00 00 | 0c 48 00 00 0c 48 09 73 |ortdt...|.H...H.s|
|00003620| 74 61 72 74 4d 50 57 00 | 00 00 04 67 00 00 04 67 |tartMPW.|...g...g|
|00003630| 11 74 63 6c 43 61 72 72 | 69 61 67 65 52 65 74 75 |.tclCarr|iageRetu|
|00003640| 72 6e 00 00 1b ec 00 00 | 1b ec 11 74 63 6c 46 69 |rn......|...tclFi|
|00003650| 6c 65 43 6f 6d 70 6c 65 | 74 69 6f 6e 00 00 0e cd |leComple|tion....|
|00003660| 00 00 0e cd 03 77 63 00 | 00 00 00 48 00 09 4d 6f |.....wc.|...H..Mo|
|00003670| 6e 61 63 6f 00 00 00 dd | c7 e4 00 00 00 00 00 f4 |naco....|........|
|00003680| cc ae 00 03 22 52 03 0d | 00 e9 ca b4 00 00 00 04 |...."R..|........|
|00003690| 00 04 00 28 00 03 01 ca | 02 79 00 28 00 03 01 ca |...(....|.y.(....|
|000036a0| 02 79 aa a5 8f f4 00 00 | 2b 06 00 00 2b 06 00 00 |.y......|+...+...|
|000036b0| 2b 05 01 00 00 00 01 00 | 00 00 03 34 00 00 02 34 |+.......|...4...4|
|000036c0| 00 00 00 42 00 dd c7 e4 | 0b 06 00 00 00 1c 00 3e |...B....|.......>|
|000036d0| 00 00 4d 50 53 52 00 01 | 00 0a 03 ef 00 00 00 00 |..MPSR..|........|
|000036e0| 00 00 00 00 00 00 03 ed | ff ff 00 00 01 e8 00 e1 |........|........|
|000036f0| 95 9c 03 74 61 62 00 00 | 00 00 00 00 00 00 00 00 |...tab..|........|
+--------+-------------------------+-------------------------+--------+--------+